diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-09-01 18:44:20 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-09-01 18:44:20 +0000 |
commit | 79806893a448bd12be2d0bc4d3ea396df8838a08 (patch) | |
tree | 547ea16147e91b2b757f65c7d855b1b1b923e8b3 /ace/Reactor.cpp | |
parent | 7f4ce48a00ae8cb37e17fc71ed4e545598103f94 (diff) | |
download | ATCD-79806893a448bd12be2d0bc4d3ea396df8838a08.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/Reactor.cpp')
-rw-r--r-- | ace/Reactor.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp index 6e2a6f1bcbe..bdbb116452b 100644 --- a/ace/Reactor.cpp +++ b/ace/Reactor.cpp @@ -1509,6 +1509,7 @@ ACE_Reactor::wait_for_multiple_events (ACE_Reactor_Handle_Set &dispatch_set, } while (number_of_active_handles == -1 && this->handle_error () > 0); + // @@ Remove?! if (number_of_active_handles > 0) { #if !defined (ACE_WIN32) @@ -1780,8 +1781,10 @@ ACE_Reactor::check_handles (void) { ACE_TRACE ("ACE_Reactor::check_handles"); +#if defined (ACE_WIN32) ACE_Time_Value time_poll = ACE_Time_Value::zero; ACE_Handle_Set rd_mask; +#endif /* ACE_WIN32 */ ACE_Event_Handler *eh = 0; int result = 0; @@ -1797,6 +1800,7 @@ ACE_Reactor::check_handles (void) if (handle == ACE_INVALID_HANDLE) continue; +#if defined (ACE_WIN32) rd_mask.set_bit (handle); if (ACE_OS::select (int (handle) + 1, @@ -1808,6 +1812,14 @@ ACE_Reactor::check_handles (void) ACE_Event_Handler::ALL_EVENTS_MASK); } rd_mask.clr_bit (handle); +#else /* !ACE_WIN32 */ + if (ACE_OS::fstat (handle, 0) == -1) + { + result = 1; + this->remove_handler_i (handle, + ACE_Event_Handler::ALL_EVENTS_MASK); + } +#endif /* ACE_WIN32 */ } return result; |