summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp')
-rw-r--r--TAO/orbsvcs/orbsvcs/Event/ECG_Mcast_EH.cpp8
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,