summaryrefslogtreecommitdiff
path: root/ace/WFMO_Reactor.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-11-02 05:12:15 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-11-02 05:12:15 +0000
commit97c497461ff98c11d16ac1d89a312e3b6326e2e9 (patch)
tree2ee2f7963f6aa13fa32f33bf1ab28d0b04a62420 /ace/WFMO_Reactor.cpp
parentb31ccf25ae020d4e4107b5cc471127cda95d65b2 (diff)
downloadATCD-97c497461ff98c11d16ac1d89a312e3b6326e2e9.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/WFMO_Reactor.cpp')
-rw-r--r--ace/WFMO_Reactor.cpp33
1 files changed, 17 insertions, 16 deletions
diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp
index fddff14ccc4..860821c424f 100644
--- a/ace/WFMO_Reactor.cpp
+++ b/ace/WFMO_Reactor.cpp
@@ -1578,25 +1578,22 @@ ACE_WFMO_Reactor::upcall (ACE_Event_Handler *event_handler,
{
long actual_events = events.lNetworkEvents;
- if ((interested_events & actual_events & FD_READ)
- && event_handler->handle_input (io_handle) == -1)
+ if ((interested_events & actual_events & FD_READ) &&
+ event_handler->handle_input (io_handle) == -1)
ACE_SET_BITS (problems, ACE_Event_Handler::READ_MASK);
-
- if ((interested_events & actual_events & FD_CLOSE)
- && event_handler->handle_input (io_handle) == -1)
+
+ if ((interested_events & actual_events & FD_CLOSE) &&
+ !ACE_BIT_ENABLED (problems, ACE_Event_Handler::READ_MASK) &&
+ event_handler->handle_input (io_handle) == -1)
ACE_SET_BITS (problems, ACE_Event_Handler::READ_MASK);
-
- if ((interested_events & actual_events & FD_WRITE)
- && event_handler->handle_output (io_handle) == -1)
- ACE_SET_BITS (problems, ACE_Event_Handler::WRITE_MASK);
-
- if ((interested_events & actual_events & FD_OOB)
- && event_handler->handle_exception (io_handle) == -1)
- ACE_SET_BITS (problems, ACE_Event_Handler::EXCEPT_MASK);
-
- if ((interested_events & actual_events & FD_ACCEPT)
- && event_handler->handle_input (io_handle) == -1)
+
+ if ((interested_events & actual_events & FD_ACCEPT) &&
+ event_handler->handle_input (io_handle) == -1)
ACE_SET_BITS (problems, ACE_Event_Handler::ACCEPT_MASK);
+
+ if ((interested_events & actual_events & FD_WRITE) &&
+ event_handler->handle_output (io_handle) == -1)
+ ACE_SET_BITS (problems, ACE_Event_Handler::WRITE_MASK);
if (interested_events & actual_events & FD_CONNECT)
{
@@ -1612,6 +1609,10 @@ ACE_WFMO_Reactor::upcall (ACE_Event_Handler *event_handler,
ACE_SET_BITS (problems, ACE_Event_Handler::CONNECT_MASK);
}
+ if ((interested_events & actual_events & FD_OOB) &&
+ event_handler->handle_exception (io_handle) == -1)
+ ACE_SET_BITS (problems, ACE_Event_Handler::EXCEPT_MASK);
+
if ((interested_events & actual_events & FD_QOS)
&& event_handler->handle_qos (io_handle) == -1)
ACE_SET_BITS (problems, ACE_Event_Handler::QOS_MASK);