* cp-tree.h (build_noexcept_spec, add_exception_specifier): Adjust
[official-gcc.git] / libgo / go / syscall / libcall_wait4_aix.go
blob9c25d04d8c274064d581bacb8d7c04ebb0ba7fbb
1 // Copyright 2009 The Go Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style
3 // license that can be found in the LICENSE file.
5 // Handle AIX's wait4 specific behavior
7 package syscall
9 //sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error)
10 //wait4(pid Pid_t, status *_C_int, options _C_int, rusage *Rusage) Pid_t
12 func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
13 var status _C_int
14 var r Pid_t
15 err = ERESTART
16 // AIX wait4 may return with ERESTART errno, while the processus is still
17 // active.
18 for err == ERESTART {
19 r, err = wait4(Pid_t(pid), &status, options, rusage)
21 wpid = int(r)
22 if wstatus != nil {
23 *wstatus = WaitStatus(status)
25 return