5 hidden
long __emulate_wait4(int pid
, int *status
, int options
, void *kru
, int cp
)
15 } else if (pid
== -1) {
17 } else if (pid
== 0) {
23 if (cp
) r
= __syscall_cp(SYS_waitid
, t
, pid
, &info
, options
|WEXITED
, kru
);
24 else r
= __syscall(SYS_waitid
, t
, pid
, &info
, options
|WEXITED
, kru
);
28 if (info
.si_pid
&& status
) {
30 switch (info
.si_code
) {
35 sw
= info
.si_status
&0x7f | 0x80;
38 sw
= (info
.si_status
&0xff) << 8;
41 sw
= info
.si_status
&0x7f;
45 /* see ptrace(2); the high bits of si_status can contain */
46 /* PTRACE_EVENT_ values which must be preserved */
47 sw
= (info
.si_status
<< 8) + 0x7f;