Ver código fonte

minor cleanup for signal handling

unclejack 12 anos atrás
pai
commit
2ba5c91547
1 arquivos alterados com 4 adições e 7 exclusões
  1. 4 7
      commands.go

+ 4 - 7
commands.go

@@ -1396,13 +1396,10 @@ func (cli *DockerCli) CmdRun(args ...string) error {
 		signals := make(chan os.Signal, 1)
 		signals := make(chan os.Signal, 1)
 		signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
 		signal.Notify(signals, syscall.SIGINT, syscall.SIGTERM)
 		go func() {
 		go func() {
-			for {
-				sig := <-signals
-				if sig == syscall.SIGINT || sig == syscall.SIGTERM {
-					fmt.Printf("\nReceived signal: %s; cleaning up\n", sig)
-					if err := cli.CmdStop("-t", "4", runResult.ID); err != nil {
-						fmt.Printf("failed to stop container:", err)
-					}
+			for sig := range signals {
+				fmt.Printf("\nReceived signal: %s; cleaning up\n", sig)
+				if err := cli.CmdStop("-t", "4", runResult.ID); err != nil {
+					fmt.Printf("failed to stop container:", err)
 				}
 				}
 			}
 			}
 		}()
 		}()