go/test/sigchld.go
Russ Cox dfa5893d4f 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
2008-12-03 14:21:28 -08:00

20 lines
443 B
Go

// $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");
}