diff options
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp')
-rw-r--r-- | TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp index 5c52c8e7b3c..434131ed80f 100644 --- a/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp +++ b/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp @@ -228,7 +228,12 @@ TAO_ECG_Mcast_EH::add_new_subscriptions (Address_Set& multicast_addresses) this->subscriptions_[subscriptions_size] = new_subscription; ACE_SOCK_Dgram_Mcast *socket = new_subscription.dgram; - socket->enable (ACE_NONBLOCK); + socket->subscribe (new_subscription.mcast_addr, 1, this->net_if_); + if ( socket->enable (ACE_NONBLOCK) != 0 ) { + ACE_ERROR ((LM_ERROR, + "Error: %d - Unable to enable nonblocking on mcast_eh\n", + errno )); + } if (this->recvbuf_size_ != 0 && (((ACE_SOCK_Dgram *)socket)->set_option(SOL_SOCKET, @@ -242,7 +247,6 @@ TAO_ECG_Mcast_EH::add_new_subscriptions (Address_Set& multicast_addresses) errno, this->recvbuf_size_)); } - socket->subscribe (new_subscription.mcast_addr, 1, this->net_if_); (void) this->reactor ()->register_handler ( socket->get_handle (), this, |