diff options
Diffstat (limited to 'TAO')
-rw-r--r-- | TAO/ChangeLog | 6 | ||||
-rw-r--r-- | TAO/tao/Thread_Lane_Resources.cpp | 3 |
2 files changed, 8 insertions, 1 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog index 78a632a73c5..46d757f6f39 100644 --- a/TAO/ChangeLog +++ b/TAO/ChangeLog @@ -1,3 +1,9 @@ +Mon Mar 17 09:39:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> + + * tao/Thread_Lane_Resources.cpp: + Guard against the fact that the resource factory pointer could + be zero + Mon Mar 17 09:02:57 UTC 2008 Johnny Willemsen <jwillemsen@remedy.nl> * orbsvcs/tests/Notify/Bug_3252_Regression/*: diff --git a/TAO/tao/Thread_Lane_Resources.cpp b/TAO/tao/Thread_Lane_Resources.cpp index 6552de0463d..7ca4d8cda39 100644 --- a/TAO/tao/Thread_Lane_Resources.cpp +++ b/TAO/tao/Thread_Lane_Resources.cpp @@ -493,6 +493,7 @@ TAO_Thread_Lane_Resources::shutdown_reactor (void) leader_follower.lock ()); ACE_Reactor *reactor = leader_follower.reactor (); + TAO_Resource_Factory *resource_factory = this->orb_core_.resource_factory (); // Wakeup all the threads waiting blocked in the event loop, this // does not guarantee that they will all go away, but reduces the @@ -502,7 +503,7 @@ TAO_Thread_Lane_Resources::shutdown_reactor (void) // they finish, when the last one does it will shutdown the reactor // for us. Meanwhile no new requests will be accepted because the // POA will not process them. - if (!this->orb_core_.resource_factory ()->drop_replies_during_shutdown () && + if (resource_factory && !resource_factory->drop_replies_during_shutdown () && leader_follower.has_clients ()) { reactor->wakeup_all_threads (); |