gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r31574 - gnunet/src/transport
Date: Thu, 19 Dec 2013 18:10:03 +0100

Author: wachs
Date: 2013-12-19 18:10:03 +0100 (Thu, 19 Dec 2013)
New Revision: 31574

Modified:
   gnunet/src/transport/transport_api.c
Log:
preventing receiving in disconnect


Modified: gnunet/src/transport/transport_api.c
===================================================================
--- gnunet/src/transport/transport_api.c        2013-12-19 16:47:34 UTC (rev 
31573)
+++ gnunet/src/transport/transport_api.c        2013-12-19 17:10:03 UTC (rev 
31574)
@@ -477,6 +477,7 @@
   return GNUNET_YES;
 }
 
+static int reconnecting;
 
 /**
  * Function we use for handling incoming messages.
@@ -503,10 +504,15 @@
   uint32_t bytes_physical;
 
   GNUNET_assert (NULL != h->client);
+  if (GNUNET_YES == reconnecting)
+  {
+    return;
+  }
   if (NULL == msg)
   {
     LOG (GNUNET_ERROR_TYPE_DEBUG,
          "Error receiving from transport service, disconnecting 
temporarily.\n");
+    reconnecting = GNUNET_YES;
     disconnect_and_schedule_reconnect (h);
     return;
   }
@@ -1003,7 +1009,9 @@
   GNUNET_assert (NULL == h->client);
   GNUNET_assert (NULL == h->control_head);
   GNUNET_assert (NULL == h->control_tail);
+  reconnecting = GNUNET_NO;
   h->client = GNUNET_CLIENT_connect ("transport", h->cfg);
+
   GNUNET_assert (NULL != h->client);
   schedule_control_transmit (h, sizeof (struct StartMessage), &send_start, h);
 }
@@ -1030,6 +1038,8 @@
   {
     GNUNET_CLIENT_disconnect (h->client);
     h->client = NULL;
+/*    LOG (GNUNET_ERROR_TYPE_ERROR,
+         "Client disconnect done \n");*/
   }
   /* Forget about all neighbours that we used to be connected to */
   GNUNET_CONTAINER_multipeermap_iterate (h->neighbours,




reply via email to

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