summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbala <balanatarajan@users.noreply.github.com>2002-11-28 04:54:02 +0000
committerbala <balanatarajan@users.noreply.github.com>2002-11-28 04:54:02 +0000
commit2665e09154dd5ba68c2c242ced6f05e1a9215f51 (patch)
treefe06c3014a71a8a571581f48cf9ea63b6d8bca67
parent574305e712c5b0fc01b551e8a896a93c8e67ebfd (diff)
downloadATCD-2665e09154dd5ba68c2c242ced6f05e1a9215f51.tar.gz
ChangeLogTag: Wed Nov 27 22:38:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r--ChangeLog16
-rw-r--r--ChangeLogs/ChangeLog-03a16
-rw-r--r--ace/Connector.cpp6
-rw-r--r--ace/Connector.h2
4 files changed, 40 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index abae84ac74c..307f5a3c3e1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,19 @@
+Wed Nov 27 22:38:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * ace/Connector.h:
+ * ace/Connector.cpp: Fix for BUG 1361. Please see
+ http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for
+ more details on the problem.
+
+ The fix is based on the assumption that ACE_Connector need not
+ be resumed by the TP_Reactor when used for asynch connects.
+ The supporting reason for this assumption is that during
+ connection completion or connection closure, the handler
+ ie. the ACE_Connector in this case is removed from the
+ Reactor. Hence this fix, which essentially implements the
+ virtual function resume_handler () and prevents itself from
+ being resumed. Thaks to Irfan for reviewing the fix.
+
Wed Nov 27 20:35:49 2002 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_aix_ibm.GNU: Add Visual Age C++ 6 to
diff --git a/ChangeLogs/ChangeLog-03a b/ChangeLogs/ChangeLog-03a
index abae84ac74c..307f5a3c3e1 100644
--- a/ChangeLogs/ChangeLog-03a
+++ b/ChangeLogs/ChangeLog-03a
@@ -1,3 +1,19 @@
+Wed Nov 27 22:38:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
+
+ * ace/Connector.h:
+ * ace/Connector.cpp: Fix for BUG 1361. Please see
+ http://deuce.doc.wustl.edu/bugzilla/show_bug.cgi?id=1361 for
+ more details on the problem.
+
+ The fix is based on the assumption that ACE_Connector need not
+ be resumed by the TP_Reactor when used for asynch connects.
+ The supporting reason for this assumption is that during
+ connection completion or connection closure, the handler
+ ie. the ACE_Connector in this case is removed from the
+ Reactor. Hence this fix, which essentially implements the
+ virtual function resume_handler () and prevents itself from
+ being resumed. Thaks to Irfan for reviewing the fix.
+
Wed Nov 27 20:35:49 2002 Steve Huston <shuston@riverace.com>
* include/makeinclude/platform_aix_ibm.GNU: Add Visual Age C++ 6 to
diff --git a/ace/Connector.cpp b/ace/Connector.cpp
index 61ec98d2fd3..abc0e976235 100644
--- a/ace/Connector.cpp
+++ b/ace/Connector.cpp
@@ -362,6 +362,12 @@ ACE_Connector<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::handle_output (ACE_HANDLE hand
}
template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1> int
+ACE_Connector<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::resume_handler (void)
+{
+ return ACE_Event_Handler::ACE_EVENT_HANDLER_NOT_RESUMED;
+}
+
+template <class SVC_HANDLER, ACE_PEER_CONNECTOR_1> int
ACE_Connector<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::handle_exception (ACE_HANDLE h)
{
ACE_TRACE ("ACE_Connector<SVC_HANDLER, ACE_PEER_CONNECTOR_2>::handle_exception");
diff --git a/ace/Connector.h b/ace/Connector.h
index 47f5e6cd9bc..d3b74615043 100644
--- a/ace/Connector.h
+++ b/ace/Connector.h
@@ -293,6 +293,8 @@ protected:
/// Called by ACE_Reactor when asynchronous connections succeed.
virtual int handle_output (ACE_HANDLE);
+ virtual int resume_handler (void);
+
/// Called by ACE_Reactor when asynchronous connections complete (on
/// some platforms only).
virtual int handle_exception (ACE_HANDLE fd = ACE_INVALID_HANDLE);