gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r10349 - gnunet/src/core


From: gnunet
Subject: [GNUnet-SVN] r10349 - gnunet/src/core
Date: Wed, 17 Feb 2010 15:39:10 +0100

Author: grothoff
Date: 2010-02-17 15:39:10 +0100 (Wed, 17 Feb 2010)
New Revision: 10349

Modified:
   gnunet/src/core/gnunet-service-core.c
Log:
fix

Modified: gnunet/src/core/gnunet-service-core.c
===================================================================
--- gnunet/src/core/gnunet-service-core.c       2010-02-17 14:22:22 UTC (rev 
10348)
+++ gnunet/src/core/gnunet-service-core.c       2010-02-17 14:39:10 UTC (rev 
10349)
@@ -1025,7 +1025,10 @@
       GNUNET_free (m);
     }
   if (NULL != n->th)
-    GNUNET_TRANSPORT_notify_transmit_ready_cancel (n->th);
+    {
+      GNUNET_TRANSPORT_notify_transmit_ready_cancel (n->th);
+      n->th = NULL;
+    }
   if (n->retry_plaintext_task != GNUNET_SCHEDULER_NO_TASK)
     GNUNET_SCHEDULER_cancel (sched, n->retry_plaintext_task);
   if (n->retry_set_key_task != GNUNET_SCHEDULER_NO_TASK)
@@ -2030,6 +2033,24 @@
 
 
 /**
+ * Function called when the transport service is ready to
+ * receive a message.  Only resets 'n->th' to NULL.
+ *
+ * @param cls neighbour to use message from
+ * @param size number of bytes we can transmit
+ * @param buf where to copy the message
+ * @return number of bytes transmitted
+ */
+static size_t
+notify_transport_connect_done (void *cls, size_t size, void *buf)
+{
+  struct Neighbour *n = cls;
+  n->th = NULL;
+  return 0;
+}
+
+
+/**
  * Handle CORE_REQUEST_CONNECT request.
  *
  * @param cls unused
@@ -2063,8 +2084,9 @@
                                                  &cm->peer,
                                                  0, 0,
                                                  GNUNET_TIME_UNIT_ZERO,
-                                                 NULL,
-                                                 NULL);
+                                                 
&notify_transport_connect_done,
+                                                 n);
+  GNUNET_break (NULL != n->th);
 }
 
 





reply via email to

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