summaryrefslogtreecommitdiff
path: root/TAO/tao/Connection_Handler.cpp
diff options
context:
space:
mode:
authorJohnny Willemsen <jwillemsen@remedy.nl>2011-04-26 09:20:04 +0000
committerJohnny Willemsen <jwillemsen@remedy.nl>2011-04-26 09:20:04 +0000
commit4c3a71b3050304123cb64375d69e4aa17195894c (patch)
tree0d62eaae8ab4caf59d04896d0fdda5284fd83e1f /TAO/tao/Connection_Handler.cpp
parent6104fd34e708e0a8a37a949d98b102eba119ddfd (diff)
downloadATCD-4c3a71b3050304123cb64375d69e4aa17195894c.tar.gz
Tue Apr 26 09:00:31 UTC 2011 Johnny Willemsen <jwillemsen@remedy.nl>
* bin/tao_orb_tests.lst: Disabled some tests with CORBA/e micro * tao/Connection_Handler.cpp: * tao/Resume_Handle_Deferred.h: * tao/Resume_Handle_Deferred.cpp: Use reference counting for deletion, also log an error and return -1 when schedule_timer fails, we have a critical error at that moment * tao/Policy_Validator.cpp: * tao/TAO_Singleton.cpp: * tao/Leader_Follower.cpp: Use %@ for logging pointers
Diffstat (limited to 'TAO/tao/Connection_Handler.cpp')
-rw-r--r--TAO/tao/Connection_Handler.cpp16
1 files changed, 13 insertions, 3 deletions
diff --git a/TAO/tao/Connection_Handler.cpp b/TAO/tao/Connection_Handler.cpp
index b5886317320..a4fa69db00d 100644
--- a/TAO/tao/Connection_Handler.cpp
+++ b/TAO/tao/Connection_Handler.cpp
@@ -235,11 +235,21 @@ TAO_Connection_Handler::handle_input_eh (ACE_HANDLE h, ACE_Event_Handler *eh)
// handle_close() will self delete (destruct)
TAO_Resume_Handle_Deferred* prhd = 0;
ACE_NEW_RETURN (prhd,
- TAO_Resume_Handle_Deferred (this->orb_core_,
- eh),
+ TAO_Resume_Handle_Deferred (this->orb_core_, eh),
-1);
+ ACE_Event_Handler_var safe_handler (prhd);
- this->orb_core_->reactor()->schedule_timer (prhd, 0, suspend_delay);
+ int const retval = this->orb_core_->reactor()->schedule_timer (prhd, 0, suspend_delay);
+ if (retval == -1)
+ {
+ if (TAO_debug_level > 5)
+ ACE_ERROR ((LM_ERROR,
+ "TAO (%P|%t) - Connection_Handler[%d]::handle_input_eh, "
+ "Error scheduling timer in %#T sec\n",
+ eh->get_handle(),
+ &suspend_delay));
+ return -1;
+ }
// Returning 0 causes the wait strategy to exit and the leader thread
// to enter the reactor's select() call.