diff options
author | bala <balanatarajan@users.noreply.github.com> | 2002-11-28 04:54:02 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 2002-11-28 04:54:02 +0000 |
commit | 2665e09154dd5ba68c2c242ced6f05e1a9215f51 (patch) | |
tree | fe06c3014a71a8a571581f48cf9ea63b6d8bca67 | |
parent | 574305e712c5b0fc01b551e8a896a93c8e67ebfd (diff) | |
download | ATCD-2665e09154dd5ba68c2c242ced6f05e1a9215f51.tar.gz |
ChangeLogTag: Wed Nov 27 22:38:15 2002 Balachandran Natarajan <bala@isis-server.isis.vanderbilt.edu>
-rw-r--r-- | ChangeLog | 16 | ||||
-rw-r--r-- | ChangeLogs/ChangeLog-03a | 16 | ||||
-rw-r--r-- | ace/Connector.cpp | 6 | ||||
-rw-r--r-- | ace/Connector.h | 2 |
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); |