| // Copyright 2013 The Go Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file. |
| |
| package signal_test |
| |
| import ( |
| "fmt" |
| "os" |
| "os/signal" |
| ) |
| |
| func ExampleNotify() { |
| // Set up channel on which to send signal notifications. |
| // We must use a buffered channel or risk missing the signal |
| // if we're not ready to receive when the signal is sent. |
| c := make(chan os.Signal, 1) |
| signal.Notify(c, os.Interrupt) |
| |
| // Block until a signal is received. |
| s := <-c |
| fmt.Println("Got signal:", s) |
| } |
| |
| func ExampleNotify_allSignals() { |
| // Set up channel on which to send signal notifications. |
| // We must use a buffered channel or risk missing the signal |
| // if we're not ready to receive when the signal is sent. |
| c := make(chan os.Signal, 1) |
| |
| // Passing no signals to Notify means that |
| // all signals will be sent to the channel. |
| signal.Notify(c) |
| |
| // Block until any signal is received. |
| s := <-c |
| fmt.Println("Got signal:", s) |
| } |