gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r33901 - gnunet/src/cadet


From: gnunet
Subject: [GNUnet-SVN] r33901 - gnunet/src/cadet
Date: Wed, 2 Jul 2014 21:30:48 +0200

Author: bartpolot
Date: 2014-07-02 21:30:48 +0200 (Wed, 02 Jul 2014)
New Revision: 33901

Modified:
   gnunet/src/cadet/gnunet-service-cadet_tunnel.c
Log:
- fix #3479

Modified: gnunet/src/cadet/gnunet-service-cadet_tunnel.c
===================================================================
--- gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-07-02 19:30:47 UTC 
(rev 33900)
+++ gnunet/src/cadet/gnunet-service-cadet_tunnel.c      2014-07-02 19:30:48 UTC 
(rev 33901)
@@ -1350,6 +1350,12 @@
   {
     struct GNUNET_TIME_Relative duration;
 
+    if (GNUNET_SCHEDULER_NO_TASK != t->kx_ctx->finish_task)
+    {
+      GNUNET_SCHEDULER_cancel (t->kx_ctx->finish_task);
+      t->kx_ctx->finish_task = GNUNET_SCHEDULER_NO_TASK;
+    }
+
     duration = GNUNET_TIME_absolute_get_duration (t->kx_ctx->rekey_start_time);
     LOG (GNUNET_ERROR_TYPE_DEBUG, " kx started %s ago\n",
          GNUNET_STRINGS_relative_time_to_string (duration, GNUNET_YES));
@@ -1770,7 +1776,14 @@
   }
 
   if (NULL == t->kx_ctx)
+  {
     create_kx_ctx (t);
+  }
+  else if (GNUNET_SCHEDULER_NO_TASK != t->kx_ctx->finish_task)
+  {
+    GNUNET_SCHEDULER_cancel (t->kx_ctx->finish_task);
+    t->kx_ctx->finish_task = GNUNET_SCHEDULER_NO_TASK;
+  }
   if (0 != memcmp (&t->peers_ephemeral_key, &msg->ephemeral_key,
                    sizeof (msg->ephemeral_key)))
   {
@@ -1820,7 +1833,14 @@
     LOG (GNUNET_ERROR_TYPE_DEBUG, "  got %u\n", res.nonce);
     LOG (GNUNET_ERROR_TYPE_DEBUG, "  towards %s\n", GNUNET_i2s (&res.target));
     if (NULL == t->kx_ctx)
+    {
       create_kx_ctx (t);
+    }
+    else if (GNUNET_SCHEDULER_NO_TASK != t->kx_ctx->finish_task)
+    {
+      GNUNET_SCHEDULER_cancel (t->kx_ctx->finish_task);
+      t->kx_ctx->finish_task = GNUNET_SCHEDULER_NO_TASK;
+    }
     send_ephemeral (t);
     send_ping (t);
     return;




reply via email to

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