diff options
Diffstat (limited to 'TAO/tao/Transport.cpp')
-rw-r--r-- | TAO/tao/Transport.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/TAO/tao/Transport.cpp b/TAO/tao/Transport.cpp index 03a92f51095..a01dea6a3f5 100644 --- a/TAO/tao/Transport.cpp +++ b/TAO/tao/Transport.cpp @@ -2664,7 +2664,17 @@ TAO_Transport::post_open (size_t id) // If the wait strategy wants us to be registered with the reactor // then we do so. If registeration is required and it succeeds, // #REFCOUNT# becomes two. - if (this->wait_strategy ()->register_handler () != 0) + if (this->wait_strategy ()->register_handler () == 0) + { + TAO_Flushing_Strategy *flushing_strategy = + this->orb_core ()->flushing_strategy (); + + if (flushing_strategy == 0) + throw CORBA::INTERNAL (); + + (void) flushing_strategy->schedule_output (this); + } + else { // Registration failures. |