summaryrefslogtreecommitdiff
path: root/ace/Reactor.cpp
diff options
context:
space:
mode:
authorschmidt <douglascraigschmidt@users.noreply.github.com>1996-11-27 06:04:10 +0000
committerschmidt <douglascraigschmidt@users.noreply.github.com>1996-11-27 06:04:10 +0000
commit60141053a72c0f2f9db1a8075b368ae69c752ab3 (patch)
treea53c24ee44d6b4fb4c6bb2d8e3168b987eb9f08b /ace/Reactor.cpp
parent72d86e3b923e67c53ecff98c29ccf65e5b134d1a (diff)
downloadATCD-60141053a72c0f2f9db1a8075b368ae69c752ab3.tar.gz
foo
Diffstat (limited to 'ace/Reactor.cpp')
-rw-r--r--ace/Reactor.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/ace/Reactor.cpp b/ace/Reactor.cpp
index 214ed466c93..3572ffea70f 100644
--- a/ace/Reactor.cpp
+++ b/ace/Reactor.cpp
@@ -859,6 +859,13 @@ ACE_Reactor::open (size_t size,
this->delete_signal_handler_ = 0;
}
+ // We do this first in case the handler_rep_ call fails (which it
+ // sometimes does on Win32 when we restart applications quickly due
+ // to the use of sockets as a notification mechanism). At least
+ // this way the timer_queue_ isn't 0, so we can still use the
+ // Reactor as a timer...
+ ACE_NEW_RETURN (this->timer_queue_, ACE_Timer_Queue, -1);
+
if (this->handler_rep_.open (size) == -1)
return -1;
#if defined (ACE_MT_SAFE)
@@ -870,8 +877,6 @@ ACE_Reactor::open (size_t size,
}
#endif /* ACE_MT_SAFE */
- ACE_NEW_RETURN (this->timer_queue_, ACE_Timer_Queue, -1);
-
#if defined (ACE_USE_POLL)
ACE_NEW_RETURN (this->poll_h_, pollfd[size], -1);