diff options
Diffstat (limited to 'os2/waitpid.c')
-rw-r--r-- | os2/waitpid.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/os2/waitpid.c b/os2/waitpid.c new file mode 100644 index 0000000..2b64f5d --- /dev/null +++ b/os2/waitpid.c @@ -0,0 +1,36 @@ +/* waitpid.c --- waiting for process termination, under OS/2 + Karl Fogel <kfogel@cyclic.com> --- November 1995 */ + +#include <assert.h> +#include <stdio.h> +#include <process.h> +#include <errno.h> + +#include "config.h" + +/* Wait for the process PID to exit. Put the return status in *statusp. + OPTIONS is not supported yet under OS/2. We hope it's always zero. */ +pid_t waitpid (pid, statusp, options) + pid_t pid; + int *statusp; + int options; +{ + pid_t rc; + + /* We don't know how to deal with any options yet. */ + assert (options == 0); + + rc = _cwait (statusp, pid, WAIT_CHILD); + + if (rc == -1) + { + if (errno == ECHILD) + return pid; + else + return -1; + } + else if (rc == pid) + return pid; + else + return -1; +} |