diff options
author | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-14 03:59:16 +0000 |
---|---|---|
committer | irfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2000-01-14 03:59:16 +0000 |
commit | 4451725615cf78f4f1c24a1a4d4995da9407b250 (patch) | |
tree | 15a532c70ed63e3f628c770704012d85ad1eafd4 /ace | |
parent | c82e9504ef77fa15b1cf38c5d528dce6cfd34204 (diff) | |
download | ATCD-4451725615cf78f4f1c24a1a4d4995da9407b250.tar.gz |
ChangeLogTag: Thu Jan 13 20:11:55 2000 Irfan Pyarali <irfan@cs.wustl.edu>
Diffstat (limited to 'ace')
-rw-r--r-- | ace/TP_Reactor.cpp | 20 | ||||
-rw-r--r-- | ace/TP_Reactor.h | 2 |
2 files changed, 22 insertions, 0 deletions
diff --git a/ace/TP_Reactor.cpp b/ace/TP_Reactor.cpp index f8b0bca927b..ef21a298a00 100644 --- a/ace/TP_Reactor.cpp +++ b/ace/TP_Reactor.cpp @@ -109,6 +109,26 @@ ACE_TP_Reactor::dispatch_io_set (int number_of_active_handles, } int +ACE_TP_Reactor::work_pending (const ACE_Time_Value &timeout) +{ + ACE_MT (ACE_GUARD_RETURN (ACE_Select_Reactor_Token, + ace_mon, this->token_, -1)); + + u_long width = (u_long) this->handler_rep_.max_handlep1 (); + + ACE_Select_Reactor_Handle_Set fd_set; + fd_set.rd_mask_ = this->wait_set_.rd_mask_; + fd_set.wr_mask_ = this->wait_set_.wr_mask_; + fd_set.ex_mask_ = this->wait_set_.ex_mask_; + + return ACE_OS::select (int (width), + fd_set.rd_mask_, + fd_set.wr_mask_, + fd_set.ex_mask_, + timeout); +} + +int ACE_TP_Reactor::handle_events (ACE_Time_Value *max_wait_time) { ACE_TRACE ("ACE_TP_Reactor::handle_events"); diff --git a/ace/TP_Reactor.h b/ace/TP_Reactor.h index 6a093d872ce..21962cf8164 100644 --- a/ace/TP_Reactor.h +++ b/ace/TP_Reactor.h @@ -143,6 +143,8 @@ public: virtual int handle_events (ACE_Time_Value &max_wait_time); + virtual int work_pending (const ACE_Time_Value &timeout); + virtual int mask_ops (ACE_Event_Handler *eh, ACE_Reactor_Mask mask, int ops); |