summaryrefslogtreecommitdiff
path: root/ace
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-09-15 17:39:28 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-09-15 17:39:28 +0000
commit819ed304df0deccf713a29cbf49c6e1b96f57a49 (patch)
tree3146a89cc4b3bf7175da7f0c9d4a86228779c41c /ace
parent518c6ed093ed607e96017bcd1d17f5745307521c (diff)
downloadATCD-819ed304df0deccf713a29cbf49c6e1b96f57a49.tar.gz
*** empty log message ***
Diffstat (limited to 'ace')
-rw-r--r--ace/OS.h2
-rw-r--r--ace/Select_Reactor.cpp17
-rw-r--r--ace/Select_Reactor.h5
-rw-r--r--ace/WFMO_Reactor.h7
-rw-r--r--ace/XtReactor.cpp8
-rw-r--r--ace/XtReactor.h11
6 files changed, 43 insertions, 7 deletions
diff --git a/ace/OS.h b/ace/OS.h
index fe9f77474a6..d05b004b147 100644
--- a/ace/OS.h
+++ b/ace/OS.h
@@ -2100,7 +2100,7 @@ typedef char TCHAR;
#define ACE_INVALID_HANDLE -1
#define ACE_SYSCALL_FAILED -1
-#define ACE_SEH_TRY
+#define ACE_SEH_TRY if (1)
#define ACE_SEH_EXCEPT(X) while (0)
#define ACE_SEH_FINALLY while (0)
diff --git a/ace/Select_Reactor.cpp b/ace/Select_Reactor.cpp
index 82cb9be019c..889fdbbc634 100644
--- a/ace/Select_Reactor.cpp
+++ b/ace/Select_Reactor.cpp
@@ -581,6 +581,23 @@ ACE_Select_Reactor_Token::ACE_Select_Reactor_Token (void)
ACE_TRACE ("ACE_Select_Reactor_Token::ACE_Select_Reactor_Token");
}
+ACE_Select_Reactor_Token::~ACE_Select_Reactor_Token (void)
+{
+ ACE_TRACE ("ACE_Select_Reactor_Token::~ACE_Select_Reactor_Token");
+}
+
+ACE_Select_Reactor &
+ACE_Select_Reactor_Token::select_reactor (void)
+{
+ return *this->select_reactor_;
+}
+
+void
+ACE_Select_Reactor_Token::select_reactor (ACE_Select_Reactor &select_reactor)
+{
+ this->select_reactor_ = &select_reactor;
+}
+
// Used to wakeup the Select_Reactor.
void
diff --git a/ace/Select_Reactor.h b/ace/Select_Reactor.h
index f50517cb2c1..ff05d081f44 100644
--- a/ace/Select_Reactor.h
+++ b/ace/Select_Reactor.h
@@ -67,10 +67,15 @@ class ACE_Export ACE_Select_Reactor_Token : public ACE_SELECT_REACTOR_MUTEX
public:
ACE_Select_Reactor_Token (ACE_Select_Reactor &r);
ACE_Select_Reactor_Token (void);
+ virtual ~ACE_Select_Reactor_Token (void);
virtual void sleep_hook (void);
// Called just before the ACE_Event_Handler goes to sleep.
+ ACE_Select_Reactor &select_reactor (void);
+ void select_reactor (ACE_Select_Reactor &);
+ // Set/Get methods
+
void dump (void) const;
// Dump the state of an object.
diff --git a/ace/WFMO_Reactor.h b/ace/WFMO_Reactor.h
index e8d8954ec65..4134ee7615c 100644
--- a/ace/WFMO_Reactor.h
+++ b/ace/WFMO_Reactor.h
@@ -993,10 +993,11 @@ int WSAEnumNetworkEvents (SOCKET s,
class ACE_Export ACE_WFMO_Reactor : public ACE_Reactor_Impl
{
public:
- virtual int handle_events (void) { return -1; }
+ virtual int handle_events (ACE_Time_Value * = 0) { return -1; }
virtual int handle_events (ACE_Time_Value &) { return -1; }
- int notify (ACE_Event_Handler * = 0,
- ACE_Reactor_Mask = ACE_Event_Handler::EXCEPT_MASK)
+ virtual int notify (ACE_Event_Handler * = 0,
+ ACE_Reactor_Mask = ACE_Event_Handler::EXCEPT_MASK,
+ ACE_Time_Value * = 0)
{ return 0; }
};
diff --git a/ace/XtReactor.cpp b/ace/XtReactor.cpp
index 491d9f27b68..0e28c4fb726 100644
--- a/ace/XtReactor.cpp
+++ b/ace/XtReactor.cpp
@@ -277,6 +277,14 @@ ACE_XtReactor::remove_handler_i (ACE_HANDLE handle,
return 0;
}
+int
+ACE_XtReactor::remove_handler_i (const ACE_Handle_Set &handles,
+ ACE_Reactor_Mask mask)
+{
+ return ACE_Select_Reactor::remove_handler_i (handles,
+ mask);
+}
+
// The following functions ensure that there is an Xt timeout for the
// first timeout in the Reactor's Timer_Queue.
diff --git a/ace/XtReactor.h b/ace/XtReactor.h
index dbc0af6a20b..2ddc9620d1b 100644
--- a/ace/XtReactor.h
+++ b/ace/XtReactor.h
@@ -68,15 +68,20 @@ protected:
ACE_Reactor_Mask mask);
// Register a set of <handlers>.
- virtual int remove_handler_i (ACE_HANDLE handle, ACE_Reactor_Mask mask);
+ virtual int remove_handler_i (ACE_HANDLE handle,
+ ACE_Reactor_Mask mask);
// Remove the <handler> associated with this <handle>.
- virtual int wait_for_multiple_events (ACE_Reactor_Handle_Set &,
+ virtual int remove_handler_i (const ACE_Handle_Set &handles,
+ ACE_Reactor_Mask);
+ // Remove a set of <handles>.
+
+ virtual int wait_for_multiple_events (ACE_Select_Reactor_Handle_Set &,
ACE_Time_Value *);
// Wait for events to occur.
virtual int XtWaitForMultipleEvents (int,
- ACE_Reactor_Handle_Set &,
+ ACE_Select_Reactor_Handle_Set &,
ACE_Time_Value *);
XtAppContext context_;