diff options
author | mcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-10 12:42:52 +0000 |
---|---|---|
committer | mcorino <mcorino@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2009-12-10 12:42:52 +0000 |
commit | 04bc5d660a9fa6a63444248b4e826c08f552ba5a (patch) | |
tree | d8bf0eaf4f99908466547645d667ae3beb306dff /TAO/tests | |
parent | 6f4580a309bcf33f1d68d7b45b483c25a6a61b57 (diff) | |
download | ATCD-04bc5d660a9fa6a63444248b4e826c08f552ba5a.tar.gz |
Thu Dec 10 12:42:00 UTC 2009 Martin Corino <mcorino@remedy.nl>
* tests/BiDirectional_DelayedUpcall/client.cpp:
* tests/BiDirectional_DelayedUpcall/test_i.cpp:
* tests/BiDirectional_DelayedUpcall/test_i.inl:
* tests/BiDirectional_DelayedUpcall/test_i.h:
Fixed problem with illegal send of request after ORB shutdown.
See Bugzilla 2068.
Diffstat (limited to 'TAO/tests')
4 files changed, 10 insertions, 8 deletions
diff --git a/TAO/tests/BiDirectional_DelayedUpcall/client.cpp b/TAO/tests/BiDirectional_DelayedUpcall/client.cpp index 438b5e31be5..b93c837c726 100644 --- a/TAO/tests/BiDirectional_DelayedUpcall/client.cpp +++ b/TAO/tests/BiDirectional_DelayedUpcall/client.cpp @@ -109,7 +109,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) Callback_i *callback_impl = 0; ACE_NEW_THROW_EX (callback_impl, - Callback_i (orb.in ()), + Callback_i (orb.in (), server.in ()), CORBA::NO_MEMORY ()); PortableServer::ServantBase_var owner_transfer(callback_impl); @@ -141,11 +141,7 @@ ACE_TMAIN(int argc, ACE_TCHAR *argv[]) ACE_Time_Value run_time (5); orb->run (run_time); - // Shutdown the server - server->shutdown (); - root_poa->destroy (1, 1); - } catch (const CORBA::Exception& ex) { diff --git a/TAO/tests/BiDirectional_DelayedUpcall/test_i.cpp b/TAO/tests/BiDirectional_DelayedUpcall/test_i.cpp index 5e87948297e..c591ab2b419 100644 --- a/TAO/tests/BiDirectional_DelayedUpcall/test_i.cpp +++ b/TAO/tests/BiDirectional_DelayedUpcall/test_i.cpp @@ -17,6 +17,9 @@ void Callback_i::shutdown (void) { ACE_DEBUG ((LM_DEBUG, "Performing clean shutdown\n")); + // Shutdown the server before we shutdown our own ORB + this->server_->shutdown (); + // now we shut down this->orb_->shutdown (0); } diff --git a/TAO/tests/BiDirectional_DelayedUpcall/test_i.h b/TAO/tests/BiDirectional_DelayedUpcall/test_i.h index 42f9036aee2..ba1f46f4764 100644 --- a/TAO/tests/BiDirectional_DelayedUpcall/test_i.h +++ b/TAO/tests/BiDirectional_DelayedUpcall/test_i.h @@ -29,7 +29,7 @@ class Callback_i : public virtual POA_Callback // connection that was established by the client // public: - Callback_i (CORBA::ORB_ptr orb); + Callback_i (CORBA::ORB_ptr orb, Simple_Server_ptr srv); // ctor void shutdown (void); @@ -41,6 +41,8 @@ public: private: CORBA::ORB_var orb_; // The orb + Simple_Server_var server_; + // The server }; class Simple_Server_i : public virtual POA_Simple_Server, public virtual ACE_Event_Handler diff --git a/TAO/tests/BiDirectional_DelayedUpcall/test_i.inl b/TAO/tests/BiDirectional_DelayedUpcall/test_i.inl index 799be9fdcbe..afb7011812e 100644 --- a/TAO/tests/BiDirectional_DelayedUpcall/test_i.inl +++ b/TAO/tests/BiDirectional_DelayedUpcall/test_i.inl @@ -1,8 +1,9 @@ // $Id$ ACE_INLINE -Callback_i::Callback_i (CORBA::ORB_ptr orb) - : orb_ (CORBA::ORB::_duplicate (orb)) +Callback_i::Callback_i (CORBA::ORB_ptr orb, Simple_Server_ptr srv) + : orb_ (CORBA::ORB::_duplicate (orb)), + server_ (Simple_Server::_duplicate (srv)) { } |