summaryrefslogtreecommitdiff
path: root/ace/OS.h
diff options
context:
space:
mode:
authornanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-11-24 21:30:26 +0000
committernanbor <nanbor@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1999-11-24 21:30:26 +0000
commit3e526ee0c033ef0c18bcf846fa7786ffd3e48037 (patch)
treed04950e8cc410bc1a5e7ae65f7c2b9d0c1b19d67 /ace/OS.h
parentf2060e3bf2534df71c47c81ac1ee7bbf96d86c98 (diff)
downloadATCD-3e526ee0c033ef0c18bcf846fa7786ffd3e48037.tar.gz
ChangeLogTag:Wed Nov 24 14:41:14 1999 Nanbor Wang <nanbor@cs.wustl.edu>
Diffstat (limited to 'ace/OS.h')
-rw-r--r--ace/OS.h20
1 files changed, 15 insertions, 5 deletions
diff --git a/ace/OS.h b/ace/OS.h
index 48893010392..72e7e90bcfe 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -5744,17 +5744,27 @@ public:
static pid_t setsid (void);
static int setpgid (pid_t pid, pid_t pgid);
static int system (const char *s);
- static pid_t waitpid (pid_t,
+ static pid_t waitpid (pid_t pid,
ACE_exitcode *status = 0,
- int wait_options = 0);
+ int wait_options = 0,
+ ACE_HANDLE handle = 0);
// Calls <::waitpid> on UNIX/POSIX platforms and <::await> on
- // Chorus. Does not work on Win32, Vxworks, or pSoS.
+ // Chorus. Does not work on Vxworks, or pSoS.
+ // On Win32, <pid> is ignored if the <handle> is not equal to 0.
+ // Passing the process <handle> is prefer on Win32 because using
+ // <pid> to wait on the project doesn't always work correctly
+ // if the waited process has already terminated.
static pid_t wait (pid_t pid,
ACE_exitcode *status,
- int wait_options = 0);
+ int wait_options = 0,
+ ACE_HANDLE handle = 0);
// Calls <::WaitForSingleObject> on Win32 and <ACE::waitpid>
- // otherwise. Returns the appropriate <pid_t> on success and -1 on
+ // otherwise. Returns the passed in <pid_t> on success and -1 on
// failure.
+ // On Win32, <pid> is ignored if the <handle> is not equal to 0.
+ // Passing the process <handle> is prefer on Win32 because using
+ // <pid> to wait on the project doesn't always work correctly
+ // if the waited process has already terminated.
static pid_t wait (int * = 0);
// Calls OS <::wait> function, so it's only portable to UNIX/POSIX
// platforms.