summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-01-14 03:59:16 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2000-01-14 03:59:16 +0000
commit4451725615cf78f4f1c24a1a4d4995da9407b250 (patch)
tree15a532c70ed63e3f628c770704012d85ad1eafd4 /ace
parentc82e9504ef77fa15b1cf38c5d528dce6cfd34204 (diff)
downloadATCD-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.cpp20
-rw-r--r--ace/TP_Reactor.h2
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);