Clean up toolsrv startup socket failures

This commit is contained in:
Ollie Agent 2026-08-18 07:29:34 +02:00
parent 9bbb6b9152
commit 2ee9251b5a
1 changed files with 6 additions and 0 deletions

View File

@ -91,6 +91,7 @@ func Spawn(ctx context.Context, cwd string, opts ...Option) (*Process, error) {
if err := cmd.Start(); err != nil {
cancel()
_ = os.Remove(socketPath)
return nil, fmt.Errorf("start toolsrv: %w", err)
}
@ -241,6 +242,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s
cancel()
_ = cmd.Process.Kill()
_ = cmd.Wait()
_ = os.Remove(localSock)
return nil, fmt.Errorf("send tarball: %w", err)
}
// Send bootstrap script
@ -248,6 +250,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s
cancel()
_ = cmd.Process.Kill()
_ = cmd.Wait()
_ = os.Remove(localSock)
return nil, fmt.Errorf("send bootstrap: %w", err)
}
stdin.Close()
@ -278,6 +281,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s
if !ready {
_ = cmd.Wait()
<-stderrDone
_ = os.Remove(localSock)
return nil, fmt.Errorf("remote toolsrv exited before startup")
}
case <-time.After(30 * time.Second):
@ -285,6 +289,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s
_ = cmd.Process.Kill()
_ = cmd.Wait()
<-stderrDone
_ = os.Remove(localSock)
return nil, fmt.Errorf("remote toolsrv startup timeout")
}
@ -293,6 +298,7 @@ exec "$CACHE_DIR/bin/toolsrv" %s
cancel()
_ = cmd.Process.Kill()
_ = cmd.Wait()
_ = os.Remove(localSock)
return nil, fmt.Errorf("wait for forwarded socket: %w", err)
}