diff options
author | rsc <devnull@localhost> | 2004-12-27 19:11:21 +0000 |
---|---|---|
committer | rsc <devnull@localhost> | 2004-12-27 19:11:21 +0000 |
commit | 03417610742c4a67bb0345a8fa0fb4e13dee07f7 (patch) | |
tree | 31748ebfba51d8966a0f64a9742dd6f141ab43a9 /src/lib9/wait.c | |
parent | 955a2ca78d7efc2787864e38a3d902df16fc2541 (diff) | |
download | plan9port-03417610742c4a67bb0345a8fa0fb4e13dee07f7.tar.gz plan9port-03417610742c4a67bb0345a8fa0fb4e13dee07f7.tar.bz2 plan9port-03417610742c4a67bb0345a8fa0fb4e13dee07f7.zip |
add awaitfor and waitfor
Diffstat (limited to 'src/lib9/wait.c')
-rw-r--r-- | src/lib9/wait.c | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/src/lib9/wait.c b/src/lib9/wait.c index 856f85c0..31d8c02a 100644 --- a/src/lib9/wait.c +++ b/src/lib9/wait.c @@ -2,13 +2,12 @@ #include <libc.h> static Waitmsg* -_wait(int nohang) +_wait(int n, char *buf) { - int n, l; - char buf[512], *fld[5]; + int l; + char *fld[5]; Waitmsg *w; - n = (nohang ? awaitnohang : await)(buf, sizeof buf-1); if(n <= 0) return nil; buf[n] = '\0'; @@ -32,12 +31,24 @@ _wait(int nohang) Waitmsg* wait(void) { - return _wait(0); + char buf[256]; + + return _wait(await(buf, sizeof buf-1), buf); } Waitmsg* waitnohang(void) { - return _wait(1); + char buf[256]; + + return _wait(awaitnohang(buf, sizeof buf-1), buf); +} + +Waitmsg* +waitfor(int pid) +{ + char buf[256]; + + return _wait(awaitfor(pid, buf, sizeof buf-1), buf); } |