diff options
4 files changed, 28 insertions, 9 deletions
diff --git a/TAO/ChangeLogs/ChangeLog-02a b/TAO/ChangeLogs/ChangeLog-02a index 257d251d77e..1f48f87155f 100644 --- a/TAO/ChangeLogs/ChangeLog-02a +++ b/TAO/ChangeLogs/ChangeLog-02a @@ -1,3 +1,27 @@ +Fri Mar 02 09:32:33 2001 Ossama Othman <ossama@uci.edu> + + * tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp (~Server_Request_Interceptor, destroy): + + Moved release of the forward object references from the + destructor to the destroy() method. There was a strange problem + interdependent object life cycles. The forward object + references wouldn't be released unless the server request + interceptor was destroyed (destructor called), and the + interceptor wouldn't be destroyed unless the object references + were released! I'll need to examine this issue further. In the + meantime, the ServerRequestInterceptor::destroy() gets around + the problem nicely, and fixes the memory leaks. + + * tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp + (post_init): + + Use ACE_TRY_ENV instead of TAO_ENV_ARG_PARAMETER. There is no + reason to use the latter when calling ORB supplied methods. + + * tests/Portable_Interceptors/ForwardRequest/test_i.cpp: + + Removed debugging message from the destructor. + Fri Mar 02 08:29:53 2001 Ossama Othman <ossama@uci.edu> * docs/index.html: diff --git a/TAO/tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp b/TAO/tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp index bddb54c8614..5727f3bed21 100644 --- a/TAO/tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp +++ b/TAO/tests/Portable_Interceptors/ForwardRequest/Server_ORBInitializer.cpp @@ -44,8 +44,8 @@ Server_ORBInitializer::post_init ( this->server_interceptor_ = interceptor; - info->add_server_request_interceptor (interceptor - TAO_ENV_ARG_PARAMETER); + info->add_server_request_interceptor (interceptor, + ACE_TRY_ENV); ACE_CHECK; } diff --git a/TAO/tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp b/TAO/tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp index 8d1e4681401..d988d9f5ab2 100644 --- a/TAO/tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp +++ b/TAO/tests/Portable_Interceptors/ForwardRequest/Server_Request_Interceptor.cpp @@ -15,11 +15,6 @@ Server_Request_Interceptor::Server_Request_Interceptor (void) Server_Request_Interceptor::~Server_Request_Interceptor (void) { - ACE_DEBUG ((LM_DEBUG, - "******* IN ~Server_Request_Interceptor ******\n")); - - CORBA::release (this->obj_[0]); - CORBA::release (this->obj_[1]); } void @@ -50,6 +45,8 @@ void Server_Request_Interceptor::destroy (TAO_ENV_SINGLE_ARG_DECL_NOT_USED) ACE_THROW_SPEC ((CORBA::SystemException)) { + CORBA::release (this->obj_[0]); + CORBA::release (this->obj_[1]); } void diff --git a/TAO/tests/Portable_Interceptors/ForwardRequest/test_i.cpp b/TAO/tests/Portable_Interceptors/ForwardRequest/test_i.cpp index 44300e7e2b5..edd9b01080e 100644 --- a/TAO/tests/Portable_Interceptors/ForwardRequest/test_i.cpp +++ b/TAO/tests/Portable_Interceptors/ForwardRequest/test_i.cpp @@ -15,8 +15,6 @@ test_i::test_i (CORBA::Short num, test_i::~test_i (void) { - ACE_DEBUG ((LM_DEBUG, - "Servant destructor invoked.\n")); } CORBA::Short |