diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-03-17 01:15:33 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1998-03-17 01:15:33 +0000 |
commit | a38e8211ce59791bb528bce68f9a37917072870b (patch) | |
tree | 28ef784b10a5fef4c49938b35c47b1ff2150eba3 /ace/WFMO_Reactor.cpp | |
parent | c15626217e195eb87ecc0d50d19f9099cdb3d296 (diff) | |
download | ATCD-a38e8211ce59791bb528bce68f9a37917072870b.tar.gz |
*** empty log message ***
Diffstat (limited to 'ace/WFMO_Reactor.cpp')
-rw-r--r-- | ace/WFMO_Reactor.cpp | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp index c6b1566fd5a..b2b626ab49a 100644 --- a/ace/WFMO_Reactor.cpp +++ b/ace/WFMO_Reactor.cpp @@ -493,7 +493,7 @@ ACE_WFMO_Reactor_Handler_Repository::make_changes_in_current_infos (void) // been updated. This is to protect against upcalls that // try to deregister again. ACE_HANDLE handle = ACE_INVALID_HANDLE; - ACE_Reactor_Mask masks = 0; + ACE_Reactor_Mask masks = ACE_Event_Handler::NULL_MASK; ACE_Event_Handler *event_handler = 0; // See if this entry is scheduled for deletion @@ -594,7 +594,7 @@ ACE_WFMO_Reactor_Handler_Repository::make_changes_in_suspension_infos (void) // been updated. This is to protect against upcalls that // try to deregister again. ACE_HANDLE handle = ACE_INVALID_HANDLE; - ACE_Reactor_Mask masks = 0; + ACE_Reactor_Mask masks = ACE_Event_Handler::NULL_MASK; ACE_Event_Handler *event_handler = 0; // See if this entry is scheduled for deletion @@ -683,7 +683,7 @@ ACE_WFMO_Reactor_Handler_Repository::make_changes_in_to_be_added_infos (void) // been updated. This is to protect against upcalls that // try to deregister again. ACE_HANDLE handle = ACE_INVALID_HANDLE; - ACE_Reactor_Mask masks = 0; + ACE_Reactor_Mask masks = ACE_Event_Handler::NULL_MASK; ACE_Event_Handler *event_handler = 0; // See if this entry is scheduled for deletion @@ -1604,11 +1604,19 @@ ACE_WFMO_Reactor_Notify::handle_signal (int signum, // failure! mb->release (); - // Bail out if we've reached the <notify_threshold_>. Note - // that by default <notify_threshold_> is -1, so we'll loop - // until we're done. + // Bail out if we've reached the <max_notify_iterations_>. + // Note that by default <max_notify_iterations_> is -1, so + // we'll loop until we're done. if (i == this->max_notify_iterations_) - break; + { + // If there are still notification in the queue, we need + // to wake up again + if (!this->message_queue_.is_empty ()) + this->wakeup_one_thread_.signal (); + + // Break the loop as we have reached max_notify_iterations_ + break; + } } } } |