gnunet-svn
[Top][All Lists]
Advanced

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

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


From: gnunet
Subject: [GNUnet-SVN] r34883 - gnunet/src/cadet
Date: Thu, 15 Jan 2015 14:45:50 +0100

Author: bartpolot
Date: 2015-01-15 14:45:50 +0100 (Thu, 15 Jan 2015)
New Revision: 34883

Modified:
   gnunet/src/cadet/test_cadet.c
Log:
- fix crashes, zombie controller on ^C

Modified: gnunet/src/cadet/test_cadet.c
===================================================================
--- gnunet/src/cadet/test_cadet.c       2015-01-14 18:24:28 UTC (rev 34882)
+++ gnunet/src/cadet/test_cadet.c       2015-01-15 13:45:50 UTC (rev 34883)
@@ -33,7 +33,7 @@
 /**
  * How namy messages to send
  */
-#define TOTAL_PACKETS 20
+#define TOTAL_PACKETS 2000
 
 /**
  * How long until we give up on connecting the peers?
@@ -265,7 +265,8 @@
  * @param tc Task Context.
  */
 static void
-disconnect_cadet_peers (void *cls, const struct GNUNET_SCHEDULER_TaskContext 
*tc)
+disconnect_cadet_peers (void *cls,
+                        const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
   long line = (long) cls;
   unsigned int i;
@@ -275,7 +276,7 @@
                 "disconnecting cadet peers due to SHUTDOWN! called from %ld\n",
                 line);
   else
-    GNUNET_log (GNUNET_ERROR_TYPE_DEBUG,
+    GNUNET_log (GNUNET_ERROR_TYPE_INFO,
                 "disconnecting cadet service of peers, called from line %ld\n",
                 line);
   disconnect_task = NULL;
@@ -370,11 +371,18 @@
 static void
 gather_stats_and_exit (void *cls, const struct GNUNET_SCHEDULER_TaskContext 
*tc)
 {
+  disconnect_task = NULL;
+
+  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "gathering statistics\n");
+
   if ((GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason) != 0)
+  {
+    disconnect_task = GNUNET_SCHEDULER_add_now (&disconnect_cadet_peers,
+                                                (void *) __LINE__);
     return;
+  }
 
-  disconnect_task = NULL;
-  GNUNET_log (GNUNET_ERROR_TYPE_INFO, "gathering statistics\n");
+
   if (NULL != ch)
   {
     GNUNET_CADET_channel_destroy (ch);
@@ -430,10 +438,11 @@
   struct GNUNET_CADET_Channel *channel;
   long src;
 
+  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Data task\n");
+
   if ((GNUNET_SCHEDULER_REASON_SHUTDOWN & tc->reason) != 0)
     return;
 
-  GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Data task\n");
   if (GNUNET_YES == test_backwards)
   {
     channel = incoming_ch;
@@ -444,6 +453,12 @@
     channel = ch;
     src = 0;
   }
+
+  if (NULL == channel)
+  {
+    GNUNET_break (0);
+    return;
+  }
   th = GNUNET_CADET_notify_transmit_ready (channel, GNUNET_NO,
                                            GNUNET_TIME_UNIT_FOREVER_REL,
                                            size_payload + data_sent,




reply via email to

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