summaryrefslogtreecommitdiff
path: root/ace/Reactor.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1997-09-13 22:02:09 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1997-09-13 22:02:09 +0000
commit664a47715c9d87876457d145c026939a73863fa5 (patch)
tree5b7a71286236c685038eef042db1ca79590517c3 /ace/Reactor.cpp
parentf92f85e3ed0248b9b2066f0d3aacabe72ba86a69 (diff)
downloadATCD-664a47715c9d87876457d145c026939a73863fa5.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Reactor.cpp')
-rw-r--r--ace/Reactor.cpp30
1 files changed, 24 insertions, 6 deletions
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp
index 71664551371..7d1369e4db9 100644
--- a/ace/Reactor.cpp
+++ b/ace/Reactor.cpp
@@ -1427,11 +1427,20 @@ ACE_Reactor::resume_i (ACE_HANDLE handle)
return -1;
if (this->suspend_set_.rd_mask_.is_set (handle))
- this->wait_set_.rd_mask_.set_bit (handle);
+ {
+ this->wait_set_.rd_mask_.set_bit (handle);
+ this->suspend_set_.rd_mask_.clr_bit(handle);
+ }
if (this->suspend_set_.wr_mask_.is_set (handle))
- this->wait_set_.wr_mask_.set_bit (handle);
+ {
+ this->wait_set_.wr_mask_.set_bit (handle);
+ this->suspend_set_.wr_mask_.clr_bit(handle);
+ }
if (this->suspend_set_.ex_mask_.is_set (handle))
- this->wait_set_.ex_mask_.set_bit (handle);
+ {
+ this->wait_set_.ex_mask_.set_bit (handle);
+ this->suspend_set_.ex_mask_.clr_bit(handle);
+ }
return 0;
}
@@ -1445,11 +1454,20 @@ ACE_Reactor::suspend_i (ACE_HANDLE handle)
return -1;
if (this->wait_set_.rd_mask_.is_set (handle))
- this->suspend_set_.rd_mask_.set_bit (handle);
+ {
+ this->suspend_set_.rd_mask_.set_bit (handle);
+ this->wait_set_.wr_mask_.clr_bit(handle);
+ }
if (this->wait_set_.wr_mask_.is_set (handle))
- this->suspend_set_.wr_mask_.set_bit (handle);
+ {
+ this->suspend_set_.wr_mask_.set_bit (handle);
+ this->wait_set_.wr_mask_.clr_bit(handle);
+ }
if (this->wait_set_.ex_mask_.is_set (handle))
- this->suspend_set_.ex_mask_.set_bit (handle);
+ {
+ this->suspend_set_.ex_mask_.set_bit (handle);
+ this->ex_mask_.clr_bit(handle);
+ }
return 0;
}