Skip to content

Commit

Permalink
fix hang on start
Browse files Browse the repository at this point in the history
  • Loading branch information
sclevine committed Feb 28, 2025
1 parent ff81306 commit aa2c1bc
Showing 1 changed file with 10 additions and 5 deletions.
15 changes: 10 additions & 5 deletions tool/teleport-update/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -274,7 +274,7 @@ func cmdDisable(ctx context.Context, ccfg *cliConfig) error {
if err != nil {
return trace.Wrap(err, "failed to initialize updater")
}
unlock, err := libutils.FSWriteLock(lockFile)
unlock, err := libutils.FSTryWriteLock(lockFile)
if err != nil {
return trace.Wrap(err, "failed to grab concurrent execution lock %s", lockFile)
}
Expand All @@ -295,7 +295,7 @@ func cmdUnpin(ctx context.Context, ccfg *cliConfig) error {
if err != nil {
return trace.Wrap(err, "failed to setup updater")
}
unlock, err := libutils.FSWriteLock(lockFile)
unlock, err := libutils.FSTryWriteLock(lockFile)
if err != nil {
return trace.Wrap(err, "failed to grab concurrent execution lock %n", lockFile)
}
Expand All @@ -318,7 +318,7 @@ func cmdInstall(ctx context.Context, ccfg *cliConfig) error {
}

// Ensure enable can't run concurrently.
unlock, err := libutils.FSWriteLock(lockFile)
unlock, err := libutils.FSTryWriteLock(lockFile)
if err != nil {
return trace.Wrap(err, "failed to grab concurrent execution lock %s", lockFile)
}
Expand All @@ -340,7 +340,12 @@ func cmdUpdate(ctx context.Context, ccfg *cliConfig) error {
return trace.Wrap(err, "failed to initialize updater")
}
// Ensure update can't run concurrently.
unlock, err := libutils.FSWriteLock(lockFile)
var unlock func() error
if ccfg.UpdateNow {
unlock, err = libutils.FSTryWriteLock(lockFile)
} else {
unlock, err = libutils.FSWriteLock(lockFile)
}
if err != nil {
return trace.Wrap(err, "failed to grab concurrent execution lock %s", lockFile)
}
Expand Down Expand Up @@ -456,7 +461,7 @@ func cmdUninstall(ctx context.Context, ccfg *cliConfig) error {
return trace.Wrap(err, "failed to initialize updater")
}
// Ensure update can't run concurrently.
unlock, err := libutils.FSWriteLock(lockFile)
unlock, err := libutils.FSTryWriteLock(lockFile)
if err != nil {
return trace.Wrap(err, "failed to grab concurrent execution lock %s", lockFile)
}
Expand Down

0 comments on commit aa2c1bc

Please sign in to comment.