Browse code

Move signal to pkg

Docker-DCO-1.1-Signed-off-by: Guillaume J. Charmes <guillaume@charmes.net> (github: creack)

Guillaume J. Charmes authored on 2014/03/11 05:38:17
Showing 8 changed files
... ...
@@ -13,6 +13,7 @@ import (
13 13
 	"github.com/dotcloud/docker/engine"
14 14
 	"github.com/dotcloud/docker/nat"
15 15
 	flag "github.com/dotcloud/docker/pkg/mflag"
16
+	"github.com/dotcloud/docker/pkg/signal"
16 17
 	"github.com/dotcloud/docker/pkg/term"
17 18
 	"github.com/dotcloud/docker/registry"
18 19
 	"github.com/dotcloud/docker/runconfig"
... ...
@@ -24,7 +25,7 @@ import (
24 24
 	"net/http/httputil"
25 25
 	"net/url"
26 26
 	"os"
27
-	"os/signal"
27
+	gosignal "os/signal"
28 28
 	"path"
29 29
 	"reflect"
30 30
 	"regexp"
... ...
@@ -533,7 +534,7 @@ func (cli *DockerCli) CmdRestart(args ...string) error {
533 533
 
534 534
 func (cli *DockerCli) forwardAllSignals(cid string) chan os.Signal {
535 535
 	sigc := make(chan os.Signal, 1)
536
-	utils.CatchAll(sigc)
536
+	signal.CatchAll(sigc)
537 537
 	go func() {
538 538
 		for s := range sigc {
539 539
 			if s == syscall.SIGCHLD {
... ...
@@ -581,7 +582,7 @@ func (cli *DockerCli) CmdStart(args ...string) error {
581 581
 
582 582
 		if !container.Config.Tty {
583 583
 			sigc := cli.forwardAllSignals(cmd.Arg(0))
584
-			defer utils.StopCatch(sigc)
584
+			defer signal.StopCatch(sigc)
585 585
 		}
586 586
 
587 587
 		var in io.ReadCloser
... ...
@@ -1614,7 +1615,7 @@ func (cli *DockerCli) CmdAttach(args ...string) error {
1614 1614
 
1615 1615
 	if *proxy && !container.Config.Tty {
1616 1616
 		sigc := cli.forwardAllSignals(cmd.Arg(0))
1617
-		defer utils.StopCatch(sigc)
1617
+		defer signal.StopCatch(sigc)
1618 1618
 	}
1619 1619
 
1620 1620
 	if err := cli.hijack("POST", "/containers/"+cmd.Arg(0)+"/attach?"+v.Encode(), container.Config.Tty, in, cli.out, cli.err, nil); err != nil {
... ...
@@ -1818,7 +1819,7 @@ func (cli *DockerCli) CmdRun(args ...string) error {
1818 1818
 
1819 1819
 	if sigProxy {
1820 1820
 		sigc := cli.forwardAllSignals(runResult.Get("Id"))
1821
-		defer utils.StopCatch(sigc)
1821
+		defer signal.StopCatch(sigc)
1822 1822
 	}
1823 1823
 
1824 1824
 	var (
... ...
@@ -2320,7 +2321,7 @@ func (cli *DockerCli) monitorTtySize(id string) error {
2320 2320
 	cli.resizeTty(id)
2321 2321
 
2322 2322
 	sigchan := make(chan os.Signal, 1)
2323
-	signal.Notify(sigchan, syscall.SIGWINCH)
2323
+	gosignal.Notify(sigchan, syscall.SIGWINCH)
2324 2324
 	go func() {
2325 2325
 		for _ = range sigchan {
2326 2326
 			cli.resizeTty(id)
2327 2327
new file mode 100644
... ...
@@ -0,0 +1,11 @@
0
+package signal
1
+
2
+import (
3
+	"os"
4
+	"os/signal"
5
+)
6
+
7
+func StopCatch(sigc chan os.Signal) {
8
+	signal.Stop(sigc)
9
+	close(sigc)
10
+}
0 11
new file mode 100644
... ...
@@ -0,0 +1,44 @@
0
+package signal
1
+
2
+import (
3
+	"os"
4
+	"os/signal"
5
+	"syscall"
6
+)
7
+
8
+func CatchAll(sigc chan os.Signal) {
9
+	signal.Notify(sigc,
10
+		syscall.SIGABRT,
11
+		syscall.SIGALRM,
12
+		syscall.SIGBUS,
13
+		syscall.SIGCHLD,
14
+		syscall.SIGCONT,
15
+		syscall.SIGEMT,
16
+		syscall.SIGFPE,
17
+		syscall.SIGHUP,
18
+		syscall.SIGILL,
19
+		syscall.SIGINFO,
20
+		syscall.SIGINT,
21
+		syscall.SIGIO,
22
+		syscall.SIGIOT,
23
+		syscall.SIGKILL,
24
+		syscall.SIGPIPE,
25
+		syscall.SIGPROF,
26
+		syscall.SIGQUIT,
27
+		syscall.SIGSEGV,
28
+		syscall.SIGSTOP,
29
+		syscall.SIGSYS,
30
+		syscall.SIGTERM,
31
+		syscall.SIGTRAP,
32
+		syscall.SIGTSTP,
33
+		syscall.SIGTTIN,
34
+		syscall.SIGTTOU,
35
+		syscall.SIGURG,
36
+		syscall.SIGUSR1,
37
+		syscall.SIGUSR2,
38
+		syscall.SIGVTALRM,
39
+		syscall.SIGWINCH,
40
+		syscall.SIGXCPU,
41
+		syscall.SIGXFSZ,
42
+	)
43
+}
0 44
new file mode 100644
... ...
@@ -0,0 +1,42 @@
0
+package signal
1
+
2
+import (
3
+	"os"
4
+	"os/signal"
5
+	"syscall"
6
+)
7
+
8
+func CatchAll(sigc chan os.Signal) {
9
+	signal.Notify(sigc,
10
+		syscall.SIGABRT,
11
+		syscall.SIGALRM,
12
+		syscall.SIGBUS,
13
+		syscall.SIGCHLD,
14
+		syscall.SIGCONT,
15
+		syscall.SIGFPE,
16
+		syscall.SIGHUP,
17
+		syscall.SIGILL,
18
+		syscall.SIGINT,
19
+		syscall.SIGIO,
20
+		syscall.SIGIOT,
21
+		syscall.SIGKILL,
22
+		syscall.SIGPIPE,
23
+		syscall.SIGPROF,
24
+		syscall.SIGQUIT,
25
+		syscall.SIGSEGV,
26
+		syscall.SIGSTOP,
27
+		syscall.SIGSYS,
28
+		syscall.SIGTERM,
29
+		syscall.SIGTRAP,
30
+		syscall.SIGTSTP,
31
+		syscall.SIGTTIN,
32
+		syscall.SIGTTOU,
33
+		syscall.SIGURG,
34
+		syscall.SIGUSR1,
35
+		syscall.SIGUSR2,
36
+		syscall.SIGVTALRM,
37
+		syscall.SIGWINCH,
38
+		syscall.SIGXCPU,
39
+		syscall.SIGXFSZ,
40
+	)
41
+}
0 42
new file mode 100644
... ...
@@ -0,0 +1,87 @@
0
+package signal
1
+
2
+import (
3
+	"os"
4
+	"os/signal"
5
+	"syscall"
6
+)
7
+
8
+var signalMap = map[string]syscall.Signal{}
9
+
10
+/*
11
+	syscall.SIGABRT,
12
+	syscall.SIGALRM,
13
+	syscall.SIGBUS,
14
+	syscall.SIGCHLD,
15
+	syscall.SIGCLD,
16
+	syscall.SIGCONT,
17
+	syscall.SIGFPE,
18
+	syscall.SIGHUP,
19
+	syscall.SIGILL,
20
+	syscall.SIGINT,
21
+	syscall.SIGIO,
22
+	syscall.SIGIOT,
23
+	syscall.SIGKILL,
24
+	syscall.SIGPIPE,
25
+	syscall.SIGPOLL,
26
+	syscall.SIGPROF,
27
+	syscall.SIGPWR,
28
+	syscall.SIGQUIT,
29
+	syscall.SIGSEGV,
30
+	syscall.SIGSTKFLT,
31
+	syscall.SIGSTOP,
32
+	syscall.SIGSYS,
33
+	syscall.SIGTERM,
34
+	syscall.SIGTRAP,
35
+	syscall.SIGTSTP,
36
+	syscall.SIGTTIN,
37
+	syscall.SIGTTOU,
38
+	syscall.SIGUNUSED,
39
+	syscall.SIGURG,
40
+	syscall.SIGUSR1,
41
+	syscall.SIGUSR2,
42
+	syscall.SIGVTALRM,
43
+	syscall.SIGWINCH,
44
+	syscall.SIGXCPU,
45
+	syscall.SIGXFSZ,
46
+*/
47
+
48
+func CatchAll(sigc chan os.Signal) {
49
+	signal.Notify(sigc,
50
+		syscall.SIGABRT,
51
+		syscall.SIGALRM,
52
+		syscall.SIGBUS,
53
+		syscall.SIGCHLD,
54
+		syscall.SIGCLD,
55
+		syscall.SIGCONT,
56
+		syscall.SIGFPE,
57
+		syscall.SIGHUP,
58
+		syscall.SIGILL,
59
+		syscall.SIGINT,
60
+		syscall.SIGIO,
61
+		syscall.SIGIOT,
62
+		syscall.SIGKILL,
63
+		syscall.SIGPIPE,
64
+		syscall.SIGPOLL,
65
+		syscall.SIGPROF,
66
+		syscall.SIGPWR,
67
+		syscall.SIGQUIT,
68
+		syscall.SIGSEGV,
69
+		syscall.SIGSTKFLT,
70
+		syscall.SIGSTOP,
71
+		syscall.SIGSYS,
72
+		syscall.SIGTERM,
73
+		syscall.SIGTRAP,
74
+		syscall.SIGTSTP,
75
+		syscall.SIGTTIN,
76
+		syscall.SIGTTOU,
77
+		syscall.SIGUNUSED,
78
+		syscall.SIGURG,
79
+		syscall.SIGUSR1,
80
+		syscall.SIGUSR2,
81
+		syscall.SIGVTALRM,
82
+		syscall.SIGWINCH,
83
+		syscall.SIGXCPU,
84
+		syscall.SIGXFSZ,
85
+	)
86
+}
0 87
deleted file mode 100644
... ...
@@ -1,11 +0,0 @@
1
-package utils
2
-
3
-import (
4
-	"os"
5
-	"os/signal"
6
-)
7
-
8
-func StopCatch(sigc chan os.Signal) {
9
-	signal.Stop(sigc)
10
-	close(sigc)
11
-}
12 1
deleted file mode 100644
... ...
@@ -1,44 +0,0 @@
1
-package utils
2
-
3
-import (
4
-	"os"
5
-	"os/signal"
6
-	"syscall"
7
-)
8
-
9
-func CatchAll(sigc chan os.Signal) {
10
-	signal.Notify(sigc,
11
-		syscall.SIGABRT,
12
-		syscall.SIGALRM,
13
-		syscall.SIGBUS,
14
-		syscall.SIGCHLD,
15
-		syscall.SIGCONT,
16
-		syscall.SIGEMT,
17
-		syscall.SIGFPE,
18
-		syscall.SIGHUP,
19
-		syscall.SIGILL,
20
-		syscall.SIGINFO,
21
-		syscall.SIGINT,
22
-		syscall.SIGIO,
23
-		syscall.SIGIOT,
24
-		syscall.SIGKILL,
25
-		syscall.SIGPIPE,
26
-		syscall.SIGPROF,
27
-		syscall.SIGQUIT,
28
-		syscall.SIGSEGV,
29
-		syscall.SIGSTOP,
30
-		syscall.SIGSYS,
31
-		syscall.SIGTERM,
32
-		syscall.SIGTRAP,
33
-		syscall.SIGTSTP,
34
-		syscall.SIGTTIN,
35
-		syscall.SIGTTOU,
36
-		syscall.SIGURG,
37
-		syscall.SIGUSR1,
38
-		syscall.SIGUSR2,
39
-		syscall.SIGVTALRM,
40
-		syscall.SIGWINCH,
41
-		syscall.SIGXCPU,
42
-		syscall.SIGXFSZ,
43
-	)
44
-}
45 1
deleted file mode 100644
... ...
@@ -1,47 +0,0 @@
1
-package utils
2
-
3
-import (
4
-	"os"
5
-	"os/signal"
6
-	"syscall"
7
-)
8
-
9
-func CatchAll(sigc chan os.Signal) {
10
-	signal.Notify(sigc,
11
-		syscall.SIGABRT,
12
-		syscall.SIGALRM,
13
-		syscall.SIGBUS,
14
-		syscall.SIGCHLD,
15
-		syscall.SIGCLD,
16
-		syscall.SIGCONT,
17
-		syscall.SIGFPE,
18
-		syscall.SIGHUP,
19
-		syscall.SIGILL,
20
-		syscall.SIGINT,
21
-		syscall.SIGIO,
22
-		syscall.SIGIOT,
23
-		syscall.SIGKILL,
24
-		syscall.SIGPIPE,
25
-		syscall.SIGPOLL,
26
-		syscall.SIGPROF,
27
-		syscall.SIGPWR,
28
-		syscall.SIGQUIT,
29
-		syscall.SIGSEGV,
30
-		syscall.SIGSTKFLT,
31
-		syscall.SIGSTOP,
32
-		syscall.SIGSYS,
33
-		syscall.SIGTERM,
34
-		syscall.SIGTRAP,
35
-		syscall.SIGTSTP,
36
-		syscall.SIGTTIN,
37
-		syscall.SIGTTOU,
38
-		syscall.SIGUNUSED,
39
-		syscall.SIGURG,
40
-		syscall.SIGUSR1,
41
-		syscall.SIGUSR2,
42
-		syscall.SIGVTALRM,
43
-		syscall.SIGWINCH,
44
-		syscall.SIGXCPU,
45
-		syscall.SIGXFSZ,
46
-	)
47
-}