aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Symonds <dsymonds@golang.org>2010-01-11 11:23:46 -0800
committerRuss Cox <rsc@golang.org>2010-01-11 11:23:46 -0800
commit0ed728c48a0cfe7ad5dd90dbc0b9cc2558aa9424 (patch)
tree81d849c3aa0ce1c15a93858d93672e8f3e7cee4b
parent93d81fb7476fb3b6aa428be7f55fa59ad1356ae0 (diff)
downloadgo-0ed728c48a0cfe7ad5dd90dbc0b9cc2558aa9424.tar.gz
go-0ed728c48a0cfe7ad5dd90dbc0b9cc2558aa9424.zip
Replicate signal names from syscall in os/signal.
R=rsc CC=golang-dev https://golang.org/cl/183142
-rw-r--r--.hgignore1
-rw-r--r--src/pkg/os/signal/Makefile6
-rwxr-xr-xsrc/pkg/os/signal/mkunix.sh24
-rw-r--r--src/pkg/os/signal/signal_test.go4
4 files changed, 33 insertions, 2 deletions
diff --git a/.hgignore b/.hgignore
index c739a20b7f..7e039d12bd 100644
--- a/.hgignore
+++ b/.hgignore
@@ -20,6 +20,7 @@ src/cmd/gc/mkbuiltin1
src/cmd/gc/opnames.h
src/pkg/Make.deps
src/pkg/exp/ogle/ogle
+src/pkg/os/signal/unix.go
src/pkg/runtime/cgo2c
src/pkg/runtime/*/asm.h
src/pkg/runtime/runtime.acid.*
diff --git a/src/pkg/os/signal/Makefile b/src/pkg/os/signal/Makefile
index a1f04b6e18..5a245464a0 100644
--- a/src/pkg/os/signal/Makefile
+++ b/src/pkg/os/signal/Makefile
@@ -7,5 +7,11 @@ include ../../../Make.$(GOARCH)
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
new file mode 100755
index 0000000000..e1ea66059b
--- /dev/null
+++ b/src/pkg/os/signal/mkunix.sh
@@ -0,0 +1,24 @@
+#!/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_test.go b/src/pkg/os/signal/signal_test.go
index 27336cc189..f2679f14dc 100644
--- a/src/pkg/os/signal/signal_test.go
+++ b/src/pkg/os/signal/signal_test.go
@@ -13,7 +13,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 != 1 {
- t.Errorf("signal was %v, want %v", sig, 1)
+ if sig := (<-Incoming).(UnixSignal); sig != SIGHUP {
+ t.Errorf("signal was %v, want %v", sig, SIGHUP)
}
}