fixing mantis 1878
authorMatthias Wachs <wachs@net.in.tum.de>
Mon, 7 Nov 2011 09:31:01 +0000 (09:31 +0000)
committerMatthias Wachs <wachs@net.in.tum.de>
Mon, 7 Nov 2011 09:31:01 +0000 (09:31 +0000)
src/transport/test_transport_api_disconnect.c
src/transport/transport-testing.c

index f97c449fc79fd37a1a5040e9333160a746bea5ff..5e45e84b5e9972431cb1a1e217282d8a90537210 100644 (file)
@@ -34,7 +34,7 @@
 #include "transport.h"
 #include "transport-testing.h"
 
-#define VERBOSE GNUNET_EXTRA_LOGGING
+#define VERBOSE GNUNET_YES
 #define VERBOSE_ARM GNUNET_EXTRA_LOGGING
 
 #define START_ARM GNUNET_YES
@@ -126,6 +126,12 @@ end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 
   GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n");
 
+  if (cc != NULL)
+  {
+    GNUNET_TRANSPORT_TESTING_connect_peers_cancel(tth, cc);
+    cc = NULL;
+  }
+
   if (send_task != GNUNET_SCHEDULER_NO_TASK)
   {
     GNUNET_SCHEDULER_cancel (send_task);
index b23879032f6a3cc8f7afe0de6e7133a643320cc6..fc1eaf556fe96c3f65b987176871446c7ce979ba 100644 (file)
@@ -205,6 +205,10 @@ try_connect (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
   if ((tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN) != 0)
     return;
 
+  GNUNET_assert (cc != NULL);
+  GNUNET_assert (cc->p1 != NULL);
+  GNUNET_assert (cc->p2 != NULL);
+
   char *p2_s = GNUNET_strdup (GNUNET_i2s (&p2->id));
 
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing",
@@ -402,9 +406,9 @@ GNUNET_TRANSPORT_TESTING_connect_peers_cancel (struct
 
   GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing",
                    "Canceling connect request %X!\n", cc);
+
   if (cc->tct != GNUNET_SCHEDULER_NO_TASK)
     GNUNET_SCHEDULER_cancel (cc->tct);
-
   cc->tct = GNUNET_SCHEDULER_NO_TASK;
 
   GNUNET_CONTAINER_DLL_remove (tth->cc_head, tth->cc_tail, cc);