diff options
author | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-03-02 17:37:00 +0000 |
---|---|---|
committer | Ossama Othman <ossama-othman@users.noreply.github.com> | 2001-03-02 17:37:00 +0000 |
commit | 94bd60d767305aadc9ceb48acc382ce3270fbd2f (patch) | |
tree | 0307fa419e0ee33543b36b1931fc24313f1a58cd | |
parent | 601a7a4ec671835048b015d2294a53d441ea7f05 (diff) | |
download | ATCD-94bd60d767305aadc9ceb48acc382ce3270fbd2f.tar.gz |
ChangeLogTag:Fri Mar 02 09:32:33 2001 Ossama Othman <ossama@uci.edu>
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 |