summaryrefslogtreecommitdiff
path: root/ace/Connector.cpp
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-30 07:46:09 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1997-05-30 07:46:09 +0000
commit4a3e84ca07d8c979620f6706a6eecc08fa84ebce (patch)
tree70ea7b2b25bd67d64f9bd8f787dd20fa5b51e54a /ace/Connector.cpp
parent95e87dd2cd49b9a7248dc487c302dee48f2f297d (diff)
downloadATCD-4a3e84ca07d8c979620f6706a6eecc08fa84ebce.tar.gz
*** empty log message ***
Diffstat (limited to 'ace/Connector.cpp')
-rw-r--r--ace/Connector.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/ace/Connector.cpp b/ace/Connector.cpp
index ae92348f775..37426b6742a 100644
--- a/ace/Connector.cpp
+++ b/ace/Connector.cpp
@@ -316,6 +316,14 @@ ACE_Connector<SH, PR_CO_2>::handle_output (ACE_HANDLE handle)
return 0;
}
+template <class SH, PR_CO_1> int
+ACE_Connector<SH, PR_CO_2>::handle_exception (ACE_HANDLE h)
+{
+ ACE_TRACE ("ACE_Connector<SH, PR_CO_2>::handle_exception");
+
+ return this->handle_output (h);
+}
+
// Initiate connection to peer.
template <class SH, PR_CO_1> int
@@ -411,13 +419,18 @@ ACE_Connector<SH, PR_CO_2>::create_AST (SH *sh,
ACE_TRACE ("ACE_Connector<SH, PR_CO_2>::create_AST");
AST *ast;
- ACE_NEW_RETURN (ast, AST (sh, this->get_handle (), synch_options.arg ()), -1);
+ ACE_NEW_RETURN (ast, AST (sh, this->get_handle (), synch_options.arg (), -1), -1);
// Register this with the reactor for both reading and writing
// events.
+ ACE_Reactor_Mask mask = ACE_Event_Handler::READ_MASK | ACE_Event_Handler::WRITE_MASK;
+
+#if defined (ACE_WIN32)
+ mask |= ACE_Event_Handler::EXCEPT_MASK;
+#endif /* ACE_WIN32 */
+
if (this->reactor ()->register_handler (this,
- ACE_Event_Handler::READ_MASK
- | ACE_Event_Handler::WRITE_MASK) == -1)
+ mask) == -1)
goto fail1;
// Bind ACE_Svc_Tuple with the ACE_HANDLE we're trying to connect.