diff options
Diffstat (limited to 'TAO/orbsvcs/Notify_Service/Notify_Service.cpp')
-rw-r--r-- | TAO/orbsvcs/Notify_Service/Notify_Service.cpp | 30 |
1 files changed, 26 insertions, 4 deletions
diff --git a/TAO/orbsvcs/Notify_Service/Notify_Service.cpp b/TAO/orbsvcs/Notify_Service/Notify_Service.cpp index 1422e94f302..009ac1f08ae 100644 --- a/TAO/orbsvcs/Notify_Service/Notify_Service.cpp +++ b/TAO/orbsvcs/Notify_Service/Notify_Service.cpp @@ -234,9 +234,22 @@ Notify_Service::run (void) __FILE__)); if (this->nthreads_ > 0) - worker_.thr_mgr ()->wait (); - else if (this->orb_->run () == -1) - ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "run"), -1); + { + worker_.thr_mgr ()->wait (); + return 0; + } + + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + this->orb_->run (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + ACE_ERROR_RETURN ((LM_ERROR, "%p\n", "run"), -1); + } + ACE_ENDTRY; return 0; } @@ -370,7 +383,16 @@ Worker::orb (CORBA::ORB_ptr orb) int Worker::svc (void) { - this->orb_->run (); + ACE_DECLARE_NEW_CORBA_ENV; + ACE_TRY + { + this->orb_->run (ACE_TRY_ENV); + ACE_TRY_CHECK; + } + ACE_CATCHANY + { + } + ACE_ENDTRY; return 0; } |