Arvados-DCO-1.1-Signed-off-by: Tom Clegg <tom@tomclegg.ca>
"os"
"path/filepath"
"strings"
+ "sync"
"git.arvados.org/arvados.git/sdk/go/arvados"
)
+// Don't trust "passenger-config" (or "bundle install") to handle
+// concurrent installs.
+var passengerInstallMutex sync.Mutex
+
type installPassenger struct {
src string
depends []bootTask
}
func (runner installPassenger) Run(ctx context.Context, fail func(error), boot *Booter) error {
+ passengerInstallMutex.Lock()
+ defer passengerInstallMutex.Unlock()
+
err := boot.wait(ctx, runner.depends...)
if err != nil {
return err