LEFT | RIGHT |
1 package signal_test | 1 package signal_test |
2 | 2 |
3 import ( | 3 import ( |
4 "fmt" | 4 "fmt" |
5 "os" | 5 "os" |
6 "os/signal" | 6 "os/signal" |
7 ) | 7 ) |
8 | 8 |
9 func ExampleNotify() { | 9 func ExampleNotify() { |
10 » c := make(chan os.Signal) | 10 » // Set up channel on which to send signal notifications. |
| 11 » // We must use a buffered channel or risk missing the signal |
| 12 » // if we're not ready to receive when the signal is sent. |
| 13 » c := make(chan os.Signal, 1) |
11 signal.Notify(c, os.Interrupt, os.Kill) | 14 signal.Notify(c, os.Interrupt, os.Kill) |
12 » fmt.Println("Waiting for signal...") | 15 |
| 16 » // Block until a signal is received. |
13 s := <-c | 17 s := <-c |
14 fmt.Println("Got signal:", s) | 18 fmt.Println("Got signal:", s) |
15 } | 19 } |
LEFT | RIGHT |