8 int wait_pid(wstat
,pid
) int *wstat
; int pid
;
13 r
= waitpid(pid
,wstat
,0);
14 while ((r
== -1) && (errno
== error_intr
));
21 /* XXX breaks down with more than two children */
22 static int oldpid
= 0;
23 static int oldwstat
; /* defined if(oldpid) */
25 int wait_pid(wstat
,pid
) int *wstat
; int pid
;
29 if (pid
== oldpid
) { *wstat
= oldwstat
; oldpid
= 0; return pid
; }
33 if ((r
!= pid
) && (r
!= -1)) { oldwstat
= *wstat
; oldpid
= r
; continue; }
35 while ((r
== -1) && (errno
== error_intr
));