diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-14 05:10:56 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-03-14 05:10:56 +0000 |
commit | 6d6d6c10dea1bc348da190a9219af19c599808ed (patch) | |
tree | 565eb419d62d4263d172860a6c2f1100aff890b9 /ace/WFMO_Reactor.cpp | |
parent | b04ee750ec4eab498d6ad10b82b04bcb5e238a9d (diff) | |
download | ATCD-6d6d6c10dea1bc348da190a9219af19c599808ed.tar.gz |
ChangeLogTag: Tue Mar 13 20:56:10 2001 Irfan Pyarali <irfan@cs.wustl.edu>
Diffstat (limited to 'ace/WFMO_Reactor.cpp')
-rw-r--r-- | ace/WFMO_Reactor.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/ace/WFMO_Reactor.cpp b/ace/WFMO_Reactor.cpp index 363194a123a..54f96b9d70c 100644 --- a/ace/WFMO_Reactor.cpp +++ b/ace/WFMO_Reactor.cpp @@ -283,6 +283,16 @@ ACE_WFMO_Reactor_Handler_Repository::remove_handler_i (size_t slot, // Make sure that the <to_be_removed_masks> is the NULL_MASK to_be_removed_masks = ACE_Event_Handler::NULL_MASK; + // If this event was marked for suspension, undo the suspension flag + // and reduce the to be suspended count. + if (this->current_info_[slot].suspend_entry_) + { + // Undo suspension + this->current_info_[slot].suspend_entry_ = 0; + // Decrement the handle count + this->handles_to_be_suspended_--; + } + // If there are no more events that the <Event_Handler> is // interested in, or this is a non-I/O entry, schedule the // <Event_Handler> for removal @@ -341,6 +351,16 @@ ACE_WFMO_Reactor_Handler_Repository::remove_suspended_handler_i (size_t slot, // Make sure that the <to_be_removed_masks> is the NULL_MASK to_be_removed_masks = ACE_Event_Handler::NULL_MASK; + // If this event was marked for resumption, undo the resumption flag + // and reduce the to be resumed count. + if (this->current_suspended_info_[slot].resume_entry_) + { + // Undo resumption + this->current_suspended_info_[slot].resume_entry_ = 0; + // Decrement the handle count + this->handles_to_be_resumed_--; + } + // If there are no more events that the <Event_Handler> is // interested in, or this is a non-I/O entry, schedule the // <Event_Handler> for removal @@ -398,6 +418,16 @@ ACE_WFMO_Reactor_Handler_Repository::remove_to_be_added_handler_i (size_t slot, // Make sure that the <to_be_removed_masks> is the NULL_MASK to_be_removed_masks = ACE_Event_Handler::NULL_MASK; + // If this event was marked for suspension, undo the suspension flag + // and reduce the to be suspended count. + if (this->to_be_added_info_[slot].suspend_entry_) + { + // Undo suspension + this->to_be_added_info_[slot].suspend_entry_ = 0; + // Decrement the handle count + this->handles_to_be_suspended_--; + } + // If there are no more events that the <Event_Handler> is // interested in, or this is a non-I/O entry, schedule the // <Event_Handler> for removal |