浏览代码

Exit from `docker login` on SIGTERM and SIGINT.

Fixes #1299.
David Calavera 12 年之前
父节点
当前提交
f1d0625cf8
共有 1 个文件被更改,包括 8 次插入0 次删除
  1. 8 0
      commands.go

+ 8 - 0
commands.go

@@ -333,6 +333,14 @@ func (cli *DockerCli) CmdLogin(args ...string) error {
 		authconfig = auth.AuthConfig{}
 		authconfig = auth.AuthConfig{}
 	}
 	}
 
 
+	c := make(chan os.Signal, 1)
+	signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
+	go func() {
+		for sig := range c {
+			os.Exit(1)
+		}
+	}()
+
 	if *flUsername == "" {
 	if *flUsername == "" {
 		promptDefault("Username", authconfig.Username)
 		promptDefault("Username", authconfig.Username)
 		username = readAndEchoString(cli.in, cli.out)
 		username = readAndEchoString(cli.in, cli.out)