Check that we're not scheduling destroy twice
authorLRN <lrn1986@gmail.com>
Fri, 17 Jan 2014 04:12:59 +0000 (04:12 +0000)
committerLRN <lrn1986@gmail.com>
Fri, 17 Jan 2014 04:12:59 +0000 (04:12 +0000)
src/mesh/gnunet-service-mesh_tunnel.c

index ed556c81155b3458de81dd09ee3e80fdfe454aec..afb739ee519e73d50442aee7fc162b29907d2898 100644 (file)
@@ -2018,6 +2018,13 @@ delayed_destroy (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 void
 GMT_destroy_empty (struct MeshTunnel3 *t)
 {
+  if (GNUNET_SCHEDULER_NO_TASK != t->destroy_task)
+  {
+    LOG (GNUNET_ERROR_TYPE_DEBUG, "Tunnel %s is already scheduled for destruction\n",
+         GMT_2s (t));
+    return;
+  }
+
   LOG (GNUNET_ERROR_TYPE_DEBUG, "Tunnel %s empty: destroying scheduled\n",
        GMT_2s (t));