gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r23500 - gnunet/src/mesh


From: gnunet
Subject: [GNUnet-SVN] r23500 - gnunet/src/mesh
Date: Wed, 29 Aug 2012 16:25:42 +0200

Author: bartpolot
Date: 2012-08-29 16:25:42 +0200 (Wed, 29 Aug 2012)
New Revision: 23500

Modified:
   gnunet/src/mesh/gnunet-service-mesh.c
Log:
- fix crash on disconnect

Modified: gnunet/src/mesh/gnunet-service-mesh.c
===================================================================
--- gnunet/src/mesh/gnunet-service-mesh.c       2012-08-29 14:12:22 UTC (rev 
23499)
+++ gnunet/src/mesh/gnunet-service-mesh.c       2012-08-29 14:25:42 UTC (rev 
23500)
@@ -4055,6 +4055,13 @@
     next = pq->next;
     if (pq->tunnel == t)
     {
+      if (GNUNET_MESSAGE_TYPE_MESH_MULTICAST == pq->type ||
+          GNUNET_MESSAGE_TYPE_MESH_UNICAST == pq->type ||
+          GNUNET_MESSAGE_TYPE_MESH_TO_ORIGIN == pq->type)
+      {
+        // Should have been removed on destroy children
+        GNUNET_break (0);
+      }
       queue_destroy (pq, GNUNET_YES);
     }
   }
@@ -4083,8 +4090,6 @@
   if (NULL == t)
     return GNUNET_OK;
 
-  tree_iterate_children (t->tree, &tunnel_cancel_queues, t);
-
   r = GNUNET_OK;
   c = t->owner;
 #if MESH_DEBUG
@@ -4152,6 +4157,8 @@
                                          t);
   GNUNET_CONTAINER_multihashmap_destroy (t->children_fc);
 
+  tree_iterate_children (t->tree, &tunnel_cancel_queues, t);
+
   tree_destroy (t->tree);
 
   if (NULL != t->regex_ctx)




reply via email to

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