diff options
Diffstat (limited to 'src/cmd/sam/unix.c')
-rw-r--r-- | src/cmd/sam/unix.c | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/src/cmd/sam/unix.c b/src/cmd/sam/unix.c index 162ba74f..2505f854 100644 --- a/src/cmd/sam/unix.c +++ b/src/cmd/sam/unix.c @@ -177,16 +177,20 @@ tempdisk(void) return fd; } -#undef wait +#undef waitfor int -waitfor(int pid) +samwaitfor(int pid) { - int wm; - int rpid; - - do; while((rpid = wait(&wm)) != pid && rpid != -1); - return (WEXITSTATUS(wm)); -} + int r; + Waitmsg *w; + + w = p9waitfor(pid); + if(w == nil) + return -1; + r = atoi(w->msg); + free(w); + return r; +} void samerr(char *buf) |