diff options
author | Russ Cox <rsc@golang.org> | 2008-12-03 14:21:28 -0800 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2008-12-03 14:21:28 -0800 |
commit | dfa5893d4f5a5724e36e1265eba4e148ca42911f (patch) | |
tree | c5608a8146ee938d88da7942dd5bb4a17dc904ea /test/sigchld.go | |
parent | 2b39165f1eabc309bc774f6b1ac7c0ce62270c5d (diff) | |
download | go-git-dfa5893d4f5a5724e36e1265eba4e148ca42911f.tar.gz |
preparation for exec.
* syscall:
add syscall.RawSyscall, which doesn't use sys.entersyscall/sys.exitsyscall
add syscall.dup2
add syscall.BytePtrPtr
add syscall.Rusage, RusagePtr
add syscall.F_GETFD, F_SETFD, FD_CLOEXEC
* runtime:
clean up, correct signal handling.
can now survive (continue running after) a signal.
R=r
DELTA=394 (286 added, 51 deleted, 57 changed)
OCL=20351
CL=20369
Diffstat (limited to 'test/sigchld.go')
-rw-r--r-- | test/sigchld.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/test/sigchld.go b/test/sigchld.go new file mode 100644 index 0000000000..417b833c70 --- /dev/null +++ b/test/sigchld.go @@ -0,0 +1,19 @@ +// $G $D/$F.go && $L $F.$A && ./$A.out + +// Copyright 2009 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 main + +import "syscall" + +func getpid() int64 { + r1, r2, err := syscall.Syscall(syscall.SYS_GETPID, 0, 0, 0); + return r1; +} + +func main() { + syscall.Syscall(syscall.SYS_KILL, getpid(), syscall.SIGCHLD, 0); + println("survived SIGCHLD"); +} |