gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[GNUnet-SVN] r37745 - gnunet/src/multicast


From: gnunet
Subject: [GNUnet-SVN] r37745 - gnunet/src/multicast
Date: Sat, 20 Aug 2016 19:56:20 +0200

Author: tg
Date: 2016-08-20 19:56:20 +0200 (Sat, 20 Aug 2016)
New Revision: 37745

Modified:
   gnunet/src/multicast/gnunet-service-multicast.c
Log:
multicast: close cadet port

Modified: gnunet/src/multicast/gnunet-service-multicast.c
===================================================================
--- gnunet/src/multicast/gnunet-service-multicast.c     2016-08-20 17:39:55 UTC 
(rev 37744)
+++ gnunet/src/multicast/gnunet-service-multicast.c     2016-08-20 17:56:20 UTC 
(rev 37745)
@@ -251,6 +251,11 @@
   struct GNUNET_CRYPTO_EddsaPrivateKey priv_key;
 
   /**
+   * CADET port.
+   */
+  struct GNUNET_CADET_Port *cadet_port;
+
+  /**
    * Last message fragment ID sent to the group.
    */
   uint64_t max_fragment_id;
@@ -363,6 +368,12 @@
 {
   struct Group *grp = &orig->grp;
   GNUNET_CONTAINER_multihashmap_remove (origins, &grp->pub_key_hash, orig);
+  if (NULL != orig->cadet_port)
+  {
+    GNUNET_CADET_close_port (orig->cadet_port);
+    orig->cadet_port = NULL;
+  }
+  GNUNET_free (orig);
 }
 
 
@@ -391,6 +402,7 @@
     mem->join_dcsn = NULL;
   }
   GNUNET_CONTAINER_multihashmap_remove (members, &grp->pub_key_hash, mem);
+  GNUNET_free (mem);
 }
 
 
@@ -403,8 +415,6 @@
   (GNUNET_YES == grp->is_origin)
     ? cleanup_origin ((struct Origin *) grp)
     : cleanup_member ((struct Member *) grp);
-
-  GNUNET_free (grp);
 }
 
 
@@ -951,7 +961,6 @@
     grp->pub_key,
     GNUNET_APPLICATION_TYPE_MULTICAST,
   };
-
   GNUNET_CRYPTO_hash (&port, sizeof (port), &grp->cadet_port_hash);
 }
 
@@ -988,10 +997,10 @@
 
     GNUNET_CONTAINER_multihashmap_put (origins, &grp->pub_key_hash, orig,
                                        
GNUNET_CONTAINER_MULTIHASHMAPOPTION_UNIQUE_FAST);
+
     group_set_cadet_port_hash (grp);
-    GNUNET_CADET_open_port (cadet, &grp->cadet_port_hash,
-                            cadet_notify_channel_new, NULL);
-
+    orig->cadet_port = GNUNET_CADET_open_port (cadet, &grp->cadet_port_hash,
+                                               cadet_notify_channel_new, NULL);
   }
   else
   {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]