summaryrefslogtreecommitdiffstats
path: root/libgo/go/syscall/libcall_waitpid.go
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-23 19:04:37 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2011-10-23 19:04:37 +0000
commitd477de419fb666727320c0ce7adabe6ce70dfbfc (patch)
tree664e8146cf480634282350e5f7f68403941ddfea /libgo/go/syscall/libcall_waitpid.go
parentc512f3a475837c5f5cd895a8513e3c3c9ba03648 (diff)
downloadppe42-gcc-d477de419fb666727320c0ce7adabe6ce70dfbfc.tar.gz
ppe42-gcc-d477de419fb666727320c0ce7adabe6ce70dfbfc.zip
Implement new syscall package.
Calls to library functions now use entersyscall and exitsyscall as appropriate. This is a first step toward multiplexing goroutines onto threads. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180345 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo/go/syscall/libcall_waitpid.go')
-rw-r--r--libgo/go/syscall/libcall_waitpid.go21
1 files changed, 21 insertions, 0 deletions
diff --git a/libgo/go/syscall/libcall_waitpid.go b/libgo/go/syscall/libcall_waitpid.go
new file mode 100644
index 00000000000..014446307e3
--- /dev/null
+++ b/libgo/go/syscall/libcall_waitpid.go
@@ -0,0 +1,21 @@
+// 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.
+
+// For systems with the waitpid library call.
+
+package syscall
+
+//sys waitpid(pid Pid_t, status *int, options int) (wpid Pid_t, errno int)
+//waitpid(pid Pid_t, status *int, options int) Pid_t
+
+func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, errno int) {
+ var status int
+ r, err := waitpid(Pid_t(pid), &status, options)
+ wpid = int(r)
+ errno = err
+ if wstatus != nil {
+ *wstatus = WaitStatus(status)
+ }
+ return
+}
OpenPOWER on IntegriCloud