var err error
for {
var status WaitStatus
- _, err = Wait4(int(pid), &status, 0, nil)
+ // WCLONE is an untyped constant that sets bit 31, so
+ // it cannot convert directly to int on 32-bit
+ // GOARCHes. We must convert through another type
+ // first.
+ flags := uint(WCLONE)
+ _, err = Wait4(int(pid), &status, int(flags), nil)
if err != EINTR {
break
}
for {
const _P_PIDFD = 3
- _, _, errno = Syscall6(SYS_WAITID, _P_PIDFD, uintptr(pidfd), 0, WEXITED, 0, 0)
+ _, _, errno = Syscall6(SYS_WAITID, _P_PIDFD, uintptr(pidfd), 0, WEXITED | WCLONE, 0, 0)
if errno != EINTR {
break
}