gnunet-svn
[Top][All Lists]
Advanced

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

[GNUnet-SVN] r26073 - gnunet/src/testbed


From: gnunet
Subject: [GNUnet-SVN] r26073 - gnunet/src/testbed
Date: Tue, 12 Feb 2013 11:05:40 +0100

Author: harsha
Date: 2013-02-12 11:05:40 +0100 (Tue, 12 Feb 2013)
New Revision: 26073

Modified:
   gnunet/src/testbed/test_gnunet_helper_testbed.c
   gnunet/src/testbed/test_testbed_api_controllerlink.c
Log:
- fix crashing tests

Modified: gnunet/src/testbed/test_gnunet_helper_testbed.c
===================================================================
--- gnunet/src/testbed/test_gnunet_helper_testbed.c     2013-02-11 23:14:27 UTC 
(rev 26072)
+++ gnunet/src/testbed/test_gnunet_helper_testbed.c     2013-02-12 10:05:40 UTC 
(rev 26073)
@@ -87,7 +87,8 @@
 {
   if (GNUNET_SCHEDULER_NO_TASK != abort_task)
     GNUNET_SCHEDULER_cancel (abort_task);
-  GNUNET_HELPER_stop (helper);
+  if (NULL != helper)
+    GNUNET_HELPER_stop (helper);
   GNUNET_free_non_null (msg);
   if (NULL != cfg)
     GNUNET_CONFIGURATION_destroy (cfg);

Modified: gnunet/src/testbed/test_testbed_api_controllerlink.c
===================================================================
--- gnunet/src/testbed/test_testbed_api_controllerlink.c        2013-02-11 
23:14:27 UTC (rev 26072)
+++ gnunet/src/testbed/test_testbed_api_controllerlink.c        2013-02-12 
10:05:40 UTC (rev 26073)
@@ -252,6 +252,11 @@
 struct GNUNET_TESTBED_HostHabitableCheckHandle *hc_handle;
 
 /**
+ * The task handle for the delay task
+ */
+GNUNET_SCHEDULER_TaskIdentifier delay_task_id;
+
+/**
  * Event mask
  */
 uint64_t event_mask;
@@ -273,6 +278,11 @@
 {
   if (GNUNET_SCHEDULER_NO_TASK != abort_task)
     GNUNET_SCHEDULER_cancel (abort_task);
+  if (GNUNET_SCHEDULER_NO_TASK != delay_task_id)
+  {
+    GNUNET_SCHEDULER_cancel (delay_task_id);
+    delay_task_id = GNUNET_SCHEDULER_NO_TASK;
+  }
   if (NULL != hc_handle)
     GNUNET_TESTBED_is_host_habitable_cancel (hc_handle);
   if (NULL != slave3)
@@ -335,6 +345,7 @@
 static void
 delay_task (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc)
 {
+  delay_task_id = GNUNET_SCHEDULER_NO_TASK;
   switch (result)
   {
   case SLAVE2_PEER_CREATE_SUCCESS:
@@ -383,9 +394,11 @@
     result = SLAVE2_PEER_CREATE_SUCCESS;
     slave2_peer = peer;
     GNUNET_TESTBED_operation_done (op);
-    GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
-                                  (GNUNET_TIME_UNIT_SECONDS, 1), &delay_task,
-                                  NULL);
+    delay_task_id =
+        GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
+                                      (GNUNET_TIME_UNIT_SECONDS, 1),
+                                      &delay_task,
+                                      NULL);
     break;
   default:
     GNUNET_assert (0);
@@ -496,9 +509,10 @@
     result = MASTER_SLAVE2_PEERS_CONNECTED;
     GNUNET_TESTBED_operation_done (op);
     op = NULL;
-    GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
-                                  (GNUNET_TIME_UNIT_SECONDS, 1), &delay_task,
-                                  NULL);
+    delay_task_id =
+        GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_relative_multiply
+                                      (GNUNET_TIME_UNIT_SECONDS, 1), 
&delay_task,
+                                      NULL);
     break;
   case MASTER_SLAVE2_PEERS_CONNECTED:
     GNUNET_assert (GNUNET_TESTBED_ET_PEER_STOP == event->type);




reply via email to

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