diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 2001-07-19 02:48:54 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 2001-07-19 02:48:54 +0000 |
commit | 6982631e1a79cc7c463ad631223aa9f1122eea4f (patch) | |
tree | dc3f31f1001f62659ef313fed4ccf380c1ee5085 /ace/ACE.cpp | |
parent | 624d4e7f3c615d072bc7b251cb094f264c72b33a (diff) | |
download | ATCD-6982631e1a79cc7c463ad631223aa9f1122eea4f.tar.gz |
ChangeLogTag:Wed Jul 18 13:15:06 2001 Douglas C. Schmidt <schmidt@ace.cs.wustl.edu>
Diffstat (limited to 'ace/ACE.cpp')
-rw-r--r-- | ace/ACE.cpp | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp index 0fd4b87d46d..f026ba8ec28 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -126,6 +126,45 @@ ACE::compiler_beta_version (void) } int +ACE::select (int width, + ACE_Handle_Set *readfds, + ACE_Handle_Set *writefds, + ACE_Handle_Set *exceptfds, + const ACE_Time_Value *timeout) +{ + int result = ACE_OS::select (width, + readfds ? readfds->fdset () : 0, + writefds ? writefds->fdset () : 0, + exceptfds ? exceptfds->fdset () : 0, + timeout); + if (result > 0) + { + if (readfds) + readfds->sync ((ACE_HANDLE) width); + if (writefds) + writefds->sync ((ACE_HANDLE) width); + if (exceptfds) + exceptfds->sync ((ACE_HANDLE) width); + } + return result; +} + +int +ACE::select (int width, + ACE_Handle_Set &readfds, + const ACE_Time_Value *timeout) +{ + int result = ACE_OS::select (width, + readfds.fdset (), + 0, + 0, + timeout); + if (result > 0) + readfds.sync ((ACE_HANDLE) width); + return result; +} + +int ACE::terminate_process (pid_t pid) { #if defined (ACE_HAS_PACE) @@ -2217,7 +2256,6 @@ ACE::handle_ready (ACE_HANDLE handle, int result = ACE_OS::poll (&fds, 1, timeout); #else - ACE_Handle_Set handle_set; handle_set.set_bit (handle); |