Fixed error handling
authorBart Polot <bart@net.in.tum.de>
Fri, 4 Nov 2011 01:00:45 +0000 (01:00 +0000)
committerBart Polot <bart@net.in.tum.de>
Fri, 4 Nov 2011 01:00:45 +0000 (01:00 +0000)
src/testing/testing_peergroup.c

index 1102218f0130ae8bc7579b68f9b521be32ff0039..470fdf8faf526d78b786e6ecef8f1d09518b5594 100644 (file)
@@ -559,10 +559,12 @@ internal_hostkey_callback (void *cls, const struct GNUNET_PeerIdentity *id,
     GNUNET_SCHEDULER_cancel (pg_start_ctx->die_task);
     /* Set up task in case topology creation doesn't finish
      * within a reasonable amount of time */
+    GNUNET_free_non_null (pg_start_ctx->fail_reason);
+    pg_start_ctx->fail_reason = GNUNET_strdup ("from create_topology");
     pg_start_ctx->die_task =
         GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_absolute_get_remaining
                                       (pg_start_ctx->timeout), &end_badly,
-                                      "from create_topology");
+                                      pg_start_ctx);
     pg_start_ctx->peers_left = pg_start_ctx->total;     /* Reset counter */
     create_expected_connections =
         GNUNET_TESTING_create_topology (pg_start_ctx->pg,
@@ -579,17 +581,22 @@ internal_hostkey_callback (void *cls, const struct GNUNET_PeerIdentity *id,
     else
     {
       GNUNET_SCHEDULER_cancel (pg_start_ctx->die_task);
+      GNUNET_free_non_null (pg_start_ctx->fail_reason);
+      pg_start_ctx->fail_reason =
+          GNUNET_strdup ("from create topology (bad return)");
       pg_start_ctx->die_task =
-          GNUNET_SCHEDULER_add_now (&end_badly,
-                                    "from create topology (bad return)");
+          GNUNET_SCHEDULER_add_now (&end_badly, pg_start_ctx);
       return;
     }
 
     GNUNET_SCHEDULER_cancel (pg_start_ctx->die_task);
+    GNUNET_free_non_null (pg_start_ctx->fail_reason);
+      pg_start_ctx->fail_reason =
+          GNUNET_strdup ("from continue startup (timeout)");
     pg_start_ctx->die_task =
         GNUNET_SCHEDULER_add_delayed (GNUNET_TIME_absolute_get_remaining
                                       (pg_start_ctx->timeout), &end_badly,
-                                      "from continue startup (timeout)");
+                                      pg_start_ctx);
   }
 }