summaryrefslogtreecommitdiff
path: root/src/pkg/os/signal
diff options
context:
space:
mode:
authorOndřej Surý <ondrej@sury.org>2011-06-30 15:34:22 +0200
committerOndřej Surý <ondrej@sury.org>2011-06-30 15:34:22 +0200
commitd39f5aa373a4422f7a5f3ee764fb0f6b0b719d61 (patch)
tree1833f8b72a4b3a8f00d0d143b079a8fcad01c6ae /src/pkg/os/signal
parent8652e6c371b8905498d3d314491d36c58d5f68d5 (diff)
downloadgolang-upstream/58.tar.gz
Imported Upstream version 58upstream/58
Diffstat (limited to 'src/pkg/os/signal')
-rw-r--r--src/pkg/os/signal/Makefile6
-rwxr-xr-xsrc/pkg/os/signal/mkunix.sh24
-rw-r--r--src/pkg/os/signal/signal.go25
-rw-r--r--src/pkg/os/signal/signal_test.go5
4 files changed, 8 insertions, 52 deletions
diff --git a/src/pkg/os/signal/Makefile b/src/pkg/os/signal/Makefile
index 013b91a85..26f58760e 100644
--- a/src/pkg/os/signal/Makefile
+++ b/src/pkg/os/signal/Makefile
@@ -7,11 +7,5 @@ include ../../../Make.inc
TARG=os/signal
GOFILES=\
signal.go\
- unix.go\
-
-CLEANFILES+=unix.go
include ../../../Make.pkg
-
-unix.go: ../../syscall/zerrors_$(GOOS)_$(GOARCH).go
- ./mkunix.sh $< > $@ || rm -f $@
diff --git a/src/pkg/os/signal/mkunix.sh b/src/pkg/os/signal/mkunix.sh
deleted file mode 100755
index 653b01664..000000000
--- a/src/pkg/os/signal/mkunix.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/usr/bin/env bash
-# Copyright 2010 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.
-
-echo '// ./mkunix.sh' "$1"
-echo '// MACHINE GENERATED BY THE COMMAND ABOVE; DO NOT EDIT'
-echo
-
-cat <<EOH
-package signal
-
-import (
- "syscall"
-)
-
-var _ = syscall.Syscall // in case there are zero signals
-
-const (
-EOH
-
-sed -n 's/^[ ]*\(SIG[A-Z0-9][A-Z0-9]*\)[ ].*/ \1 = UnixSignal(syscall.\1)/p' "$1"
-
-echo ")"
diff --git a/src/pkg/os/signal/signal.go b/src/pkg/os/signal/signal.go
index 666c03e73..520f3f8a9 100644
--- a/src/pkg/os/signal/signal.go
+++ b/src/pkg/os/signal/signal.go
@@ -6,35 +6,20 @@
package signal
import (
+ "os"
"runtime"
- "strconv"
)
-// A Signal can represent any operating system signal.
-type Signal interface {
- String() string
-}
-
-type UnixSignal int32
-
-func (sig UnixSignal) String() string {
- s := runtime.Signame(int32(sig))
- if len(s) > 0 {
- return s
- }
- return "Signal " + strconv.Itoa(int(sig))
-}
-
// Incoming is the global signal channel.
// All signals received by the program will be delivered to this channel.
-var Incoming <-chan Signal
+var Incoming <-chan os.Signal
-func process(ch chan<- Signal) {
+func process(ch chan<- os.Signal) {
for {
var mask uint32 = runtime.Sigrecv()
for sig := uint(0); sig < 32; sig++ {
if mask&(1<<sig) != 0 {
- ch <- UnixSignal(sig)
+ ch <- os.UnixSignal(sig)
}
}
}
@@ -42,7 +27,7 @@ func process(ch chan<- Signal) {
func init() {
runtime.Siginit()
- ch := make(chan Signal) // Done here so Incoming can have type <-chan Signal
+ ch := make(chan os.Signal) // Done here so Incoming can have type <-chan Signal
Incoming = ch
go process(ch)
}
diff --git a/src/pkg/os/signal/signal_test.go b/src/pkg/os/signal/signal_test.go
index f2679f14d..00eb29578 100644
--- a/src/pkg/os/signal/signal_test.go
+++ b/src/pkg/os/signal/signal_test.go
@@ -5,6 +5,7 @@
package signal
import (
+ "os"
"syscall"
"testing"
)
@@ -13,7 +14,7 @@ func TestSignal(t *testing.T) {
// Send this process a SIGHUP.
syscall.Syscall(syscall.SYS_KILL, uintptr(syscall.Getpid()), syscall.SIGHUP, 0)
- if sig := (<-Incoming).(UnixSignal); sig != SIGHUP {
- t.Errorf("signal was %v, want %v", sig, SIGHUP)
+ if sig := (<-Incoming).(os.UnixSignal); sig != os.SIGHUP {
+ t.Errorf("signal was %v, want %v", sig, os.SIGHUP)
}
}