@@ -226,15 +226,19 @@ func dockerCmd() *cobra.Command {
226
226
// Start sysbox-mgr and sysbox-fs in order to run
227
227
// sysbox containers.
228
228
case err := <- background .New (ctx , log , "sysbox-mgr" , sysboxArgs ... ).Run ():
229
- blog .Info (sysboxErrMsg )
230
- //nolint
231
- log .Critical (ctx , "sysbox-mgr exited" , slog .Error (err ))
232
- panic (err )
229
+ if ctx .Err () == nil {
230
+ blog .Info (sysboxErrMsg )
231
+ //nolint
232
+ log .Critical (ctx , "sysbox-mgr exited" , slog .Error (err ))
233
+ panic (err )
234
+ }
233
235
case err := <- background .New (ctx , log , "sysbox-fs" ).Run ():
234
- blog .Info (sysboxErrMsg )
235
- //nolint
236
- log .Critical (ctx , "sysbox-fs exited" , slog .Error (err ))
237
- panic (err )
236
+ if ctx .Err () == nil {
237
+ blog .Info (sysboxErrMsg )
238
+ //nolint
239
+ log .Critical (ctx , "sysbox-fs exited" , slog .Error (err ))
240
+ panic (err )
241
+ }
238
242
}
239
243
}()
240
244
@@ -384,31 +388,31 @@ func dockerCmd() *cobra.Command {
384
388
return
385
389
}
386
390
387
- ctx , cancel := context .WithTimeout (context .Background (), time .Second * 90 )
388
- defer cancel ()
391
+ shutdownCtx , shutdownCancel := context .WithTimeout (context .Background (), time .Second * 90 )
392
+ defer shutdownCancel ()
389
393
390
- bootstrapPID , err := dockerutil .GetExecPID (ctx , client , bootstrapExecID )
394
+ bootstrapPID , err := dockerutil .GetExecPID (shutdownCtx , client , bootstrapExecID )
391
395
if err != nil {
392
- log .Error (ctx , "get exec pid" , slog .Error (err ))
396
+ log .Error (shutdownCtx , "get exec pid" , slog .Error (err ))
393
397
}
394
398
395
- log .Debug (ctx , "killing container" , slog .F ("bootstrap_pid" , bootstrapPID ))
399
+ log .Debug (shutdownCtx , "killing container" , slog .F ("bootstrap_pid" , bootstrapPID ))
396
400
397
401
// The PID returned is the PID _outside_ the container...
398
- out , err := exec .Command ( "kill" , "-TERM" , strconv .Itoa (bootstrapPID )).CombinedOutput () //nolint:gosec
402
+ out , err := exec .CommandContext ( shutdownCtx , "kill" , "-TERM" , strconv .Itoa (bootstrapPID )).CombinedOutput () //nolint:gosec
399
403
if err != nil {
400
- log .Error (ctx , "kill bootstrap process" , slog .Error (err ), slog .F ("output" , string (out )))
404
+ log .Error (shutdownCtx , "kill bootstrap process" , slog .Error (err ), slog .F ("output" , string (out )))
401
405
return
402
406
}
403
407
404
- log .Debug (ctx , "sent kill signal waiting for process to exit" )
405
- err = dockerutil .WaitForExit (ctx , client , bootstrapExecID )
408
+ log .Debug (shutdownCtx , "sent kill signal waiting for process to exit" )
409
+ err = dockerutil .WaitForExit (shutdownCtx , client , bootstrapExecID )
406
410
if err != nil {
407
- log .Error (ctx , "wait for exit" , slog .Error (err ))
411
+ log .Error (shutdownCtx , "wait for exit" , slog .Error (err ))
408
412
return
409
413
}
410
414
411
- log .Debug (ctx , "bootstrap process successfully exited" )
415
+ log .Debug (shutdownCtx , "bootstrap process successfully exited" )
412
416
}()
413
417
414
418
return nil
0 commit comments