--- /home/naewe/ntalker.cpp.TRUNK	2007-11-20 12:00:50.000000000 +0100
+++ ntalker.cpp	2007-11-20 11:58:26.000000000 +0100
@@ -1,4 +1,4 @@
-// $Id$
+// $Id: ntalker.cpp 54959 2003-12-30 23:18:59Z shuston $
 
 // Listens to multicast address.  After first message received, will
 // listen for 5 more seconds.  Prints Mbits/sec received from client.
@@ -12,7 +12,7 @@
 #include "ace/Thread_Manager.h"
 #include "ace/Service_Config.h"
 
-ACE_RCSID(Ntalker, ntalker, "$Id$")
+ACE_RCSID(Ntalker, ntalker, "$Id: ntalker.cpp 54959 2003-12-30 23:18:59Z shuston $")
 
 #if defined (ACE_HAS_IP_MULTICAST)
 // Network interface to subscribe to.  This is hardware specific.  use
@@ -45,6 +45,7 @@
 
 private:
   ACE_SOCK_Dgram_Mcast mcast_;
+  ACE_INET_Addr  sockmc_addr_;
   // Multicast wrapper.
 };
 
@@ -134,7 +135,7 @@
 
 Handler::~Handler (void)
 {
-  if (this->mcast_.unsubscribe () == -1)
+  if (this->mcast_.leave (sockmc_addr_) == -1)
     ACE_ERROR ((LM_ERROR,
                 "%p\n",
                 "unsubscribe fails"));
@@ -147,11 +148,11 @@
 {
   // Create multicast address to listen on.
 
-  ACE_INET_Addr sockmc_addr (udp_port, ip_addr);
+  sockmc_addr_ = ACE_INET_Addr (udp_port, ip_addr);
 
   // subscribe to multicast group.
 
-  if (this->mcast_.subscribe (sockmc_addr, 1, a_interface) == -1)
+  if (this->mcast_.subscribe (sockmc_addr_, 1, a_interface) == -1)
   {
   	  ACE_ERROR ((LM_ERROR,
                 "%p\n",
