aboutsummaryrefslogtreecommitdiffstats
path: root/gcc-4.8.1/libgo/go/os/signal/signal.go
diff options
context:
space:
mode:
Diffstat (limited to 'gcc-4.8.1/libgo/go/os/signal/signal.go')
-rw-r--r--gcc-4.8.1/libgo/go/os/signal/signal.go72
1 files changed, 0 insertions, 72 deletions
diff --git a/gcc-4.8.1/libgo/go/os/signal/signal.go b/gcc-4.8.1/libgo/go/os/signal/signal.go
deleted file mode 100644
index dfdcf4061..000000000
--- a/gcc-4.8.1/libgo/go/os/signal/signal.go
+++ /dev/null
@@ -1,72 +0,0 @@
-// Copyright 2012 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 implements access to incoming signals.
-package signal
-
-// BUG(rsc): This package is not yet implemented on Plan 9 and Windows.
-
-import (
- "os"
- "sync"
-)
-
-var handlers struct {
- sync.Mutex
- list []handler
-}
-
-type handler struct {
- c chan<- os.Signal
- sig os.Signal
- all bool
-}
-
-// Notify causes package signal to relay incoming signals to c.
-// If no signals are listed, all incoming signals will be relayed to c.
-// Otherwise, just the listed signals will.
-//
-// Package signal will not block sending to c: the caller must ensure
-// that c has sufficient buffer space to keep up with the expected
-// signal rate. For a channel used for notification of just one signal value,
-// a buffer of size 1 is sufficient.
-//
-func Notify(c chan<- os.Signal, sig ...os.Signal) {
- if c == nil {
- panic("os/signal: Notify using nil channel")
- }
-
- handlers.Lock()
- defer handlers.Unlock()
- if len(sig) == 0 {
- enableSignal(nil)
- handlers.list = append(handlers.list, handler{c: c, all: true})
- } else {
- for _, s := range sig {
- // We use nil as a special wildcard value for enableSignal,
- // so filter it out of the list of arguments. This is safe because
- // we will never get an incoming nil signal, so discarding the
- // registration cannot affect the observed behavior.
- if s != nil {
- enableSignal(s)
- handlers.list = append(handlers.list, handler{c: c, sig: s})
- }
- }
- }
-}
-
-func process(sig os.Signal) {
- handlers.Lock()
- defer handlers.Unlock()
-
- for _, h := range handlers.list {
- if h.all || h.sig == sig {
- // send but do not block for it
- select {
- case h.c <- sig:
- default:
- }
- }
- }
-}