]> Cypherpunks repositories - gostls13.git/commit
os/signal: selective signal handling
authorRuss Cox <rsc@golang.org>
Mon, 13 Feb 2012 18:52:37 +0000 (13:52 -0500)
committerRuss Cox <rsc@golang.org>
Mon, 13 Feb 2012 18:52:37 +0000 (13:52 -0500)
commit35586f718cc5d808de1c7d9a367f55c54864326a
treec9fa94936ba4823a882cc1ee0a8cb4f371a58707
parentcdd7e02583325b05024cc1366a59eaafc09e1dc3
os/signal: selective signal handling

Restore package os/signal, with new API:
Notify replaces Incoming, allowing clients
to ask for certain signals only.  Also, signals
go to everyone who asks, not just one client.

This could plausibly move into package os now
that there are no magic side effects as a result
of the import.

Update runtime for new API: move common Unix
signal handling code into signal_unix.c.
(It's so easy to do this now that we don't have
to edit Makefiles!)

Tested on darwin,linux 386,amd64.

Fixes #1266.

R=r, dsymonds, bradfitz, iant, borman
CC=golang-dev
https://golang.org/cl/3749041
61 files changed:
doc/go1.html
doc/go1.tmpl
src/pkg/exp/signal/signal.go [deleted file]
src/pkg/exp/signal/signal_test.go [deleted file]
src/pkg/net/http/cgi/host_test.go
src/pkg/os/exec.go
src/pkg/os/exec_posix.go
src/pkg/os/exec_unix.go
src/pkg/os/exec_windows.go
src/pkg/os/signal/sig.s [new file with mode: 0644]
src/pkg/os/signal/signal.go [new file with mode: 0644]
src/pkg/os/signal/signal_test.go [new file with mode: 0644]
src/pkg/os/signal/signal_unix.go [new file with mode: 0644]
src/pkg/runtime/os_darwin.h
src/pkg/runtime/os_freebsd.h
src/pkg/runtime/os_linux.h
src/pkg/runtime/os_netbsd.h
src/pkg/runtime/os_openbsd.h
src/pkg/runtime/runtime.c
src/pkg/runtime/runtime.h
src/pkg/runtime/sig.go [deleted file]
src/pkg/runtime/signal_darwin_386.c
src/pkg/runtime/signal_darwin_amd64.c
src/pkg/runtime/signal_freebsd_386.c
src/pkg/runtime/signal_freebsd_amd64.c
src/pkg/runtime/signal_linux_386.c
src/pkg/runtime/signal_linux_amd64.c
src/pkg/runtime/signal_linux_arm.c
src/pkg/runtime/signal_netbsd_386.c
src/pkg/runtime/signal_netbsd_amd64.c
src/pkg/runtime/signal_openbsd_386.c
src/pkg/runtime/signal_openbsd_amd64.c
src/pkg/runtime/signal_unix.c [new file with mode: 0644]
src/pkg/runtime/signal_windows_386.c
src/pkg/runtime/signal_windows_amd64.c
src/pkg/runtime/signals_darwin.h
src/pkg/runtime/signals_freebsd.h
src/pkg/runtime/signals_linux.h
src/pkg/runtime/signals_netbsd.h
src/pkg/runtime/signals_openbsd.h
src/pkg/runtime/sigqueue.goc
src/pkg/runtime/sys_linux_386.s
src/pkg/runtime/sys_linux_amd64.s
src/pkg/runtime/sys_linux_arm.s
src/pkg/runtime/thread_plan9.c
src/pkg/syscall/mkerrors.sh
src/pkg/syscall/syscall_bsd.go
src/pkg/syscall/syscall_darwin.go
src/pkg/syscall/syscall_linux.go
src/pkg/syscall/syscall_unix.go
src/pkg/syscall/zerrors_darwin_386.go
src/pkg/syscall/zerrors_darwin_amd64.go
src/pkg/syscall/zerrors_linux_386.go
src/pkg/syscall/zerrors_linux_amd64.go
src/pkg/syscall/zsyscall_freebsd_386.go
src/pkg/syscall/zsyscall_freebsd_amd64.go
src/pkg/syscall/zsyscall_linux_386.go
src/pkg/syscall/zsyscall_linux_amd64.go
src/pkg/syscall/zsyscall_linux_arm.go
src/pkg/syscall/zsysnum_linux_386.go
src/pkg/syscall/zsysnum_linux_amd64.go