1234567891011121314151617181920212223242526 |
- // 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.
- // Handle AIX's wait4 specific behavior
- package syscall
- //sys wait4(pid Pid_t, status *_C_int, options int, rusage *Rusage) (wpid Pid_t, err error)
- //wait4(pid Pid_t, status *_C_int, options _C_int, rusage *Rusage) Pid_t
- func Wait4(pid int, wstatus *WaitStatus, options int, rusage *Rusage) (wpid int, err error) {
- var status _C_int
- var r Pid_t
- err = ERESTART
- // AIX wait4 may return with ERESTART errno, while the processus is still
- // active.
- for err == ERESTART {
- r, err = wait4(Pid_t(pid), &status, options, rusage)
- }
- wpid = int(r)
- if wstatus != nil {
- *wstatus = WaitStatus(status)
- }
- return
- }
|