aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/sam/unix.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cmd/sam/unix.c')
-rw-r--r--src/cmd/sam/unix.c20
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)