gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r32824 - gnunet/src/transport


From: gnunet
Subject: [GNUnet-SVN] r32824 - gnunet/src/transport
Date: Fri, 28 Mar 2014 16:09:29 +0100

Author: wachs
Date: 2014-03-28 16:09:29 +0100 (Fri, 28 Mar 2014)
New Revision: 32824

Modified:
   gnunet/src/transport/gnunet-service-transport_neighbours.c
Log:
cancel delayed disconnect task on free


Modified: gnunet/src/transport/gnunet-service-transport_neighbours.c
===================================================================
--- gnunet/src/transport/gnunet-service-transport_neighbours.c  2014-03-28 
14:55:42 UTC (rev 32823)
+++ gnunet/src/transport/gnunet-service-transport_neighbours.c  2014-03-28 
15:09:29 UTC (rev 32824)
@@ -343,6 +343,11 @@
   GNUNET_SCHEDULER_TaskIdentifier task;
 
   /**
+   * Task to disconnect neighbour after we received a DISCONNECT message
+   */
+  GNUNET_SCHEDULER_TaskIdentifier delayed_disconnect_task;
+
+  /**
    * At what time should we sent the next keep-alive message?
    */
   struct GNUNET_TIME_Absolute keep_alive_time;
@@ -946,6 +951,13 @@
     n->suggest_handle = NULL;
   }
 
+  /* Cancel the disconnect task */
+  if (GNUNET_SCHEDULER_NO_TASK != n->delayed_disconnect_task)
+  {
+    GNUNET_SCHEDULER_cancel (n->delayed_disconnect_task);
+    n->delayed_disconnect_task = GNUNET_SCHEDULER_NO_TASK;
+  }
+
   /* Cancel the master task */
   if (GNUNET_SCHEDULER_NO_TASK != n->task)
   {
@@ -3479,11 +3491,8 @@
     const struct GNUNET_SCHEDULER_TaskContext* tc)
 {
   struct NeighbourMapEntry *n = cls;
-  if (GNUNET_YES == test_connected (n))
-    GNUNET_STATISTICS_update (GST_stats,
-                              gettext_noop
-                              ("# other peer asked to disconnect from us"), 1,
-                              GNUNET_NO);
+
+  n->delayed_disconnect_task = GNUNET_SCHEDULER_NO_TASK;
   GNUNET_log (GNUNET_ERROR_TYPE_ERROR,
               "Disconnecting by request from peer %s\n",
               GNUNET_i2s (&n->id));
@@ -3561,7 +3570,7 @@
     GNUNET_break_op (0);
     return;
   }
-  GNUNET_SCHEDULER_add_now (&delayed_disconnect, n);
+  n->delayed_disconnect_task = GNUNET_SCHEDULER_add_now (&delayed_disconnect, 
n);
 }
 
 




reply via email to

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