From: Christian Grothoff Date: Sun, 6 May 2012 18:59:37 +0000 (+0000) Subject: -fixing #2309 X-Git-Tag: initial-import-from-subversion-38251~13635 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=778572120eb274c1e2b64b998b18bcea508d746c;p=oweals%2Fgnunet.git -fixing #2309 --- diff --git a/src/transport/test_transport_api_bidirectional_connect.c b/src/transport/test_transport_api_bidirectional_connect.c index 604554c51..2c4eeab3c 100644 --- a/src/transport/test_transport_api_bidirectional_connect.c +++ b/src/transport/test_transport_api_bidirectional_connect.c @@ -35,10 +35,6 @@ #include "transport.h" #include "transport-testing.h" -#define VERBOSE GNUNET_NO -#define VERBOSE_ARM GNUNET_NO - -#define START_ARM GNUNET_YES /** * How long until we give up on transmitting the message? @@ -64,26 +60,20 @@ static GNUNET_SCHEDULER_TaskIdentifier die_task; static GNUNET_SCHEDULER_TaskIdentifier send_task; -struct PeerContext *p1; +static struct PeerContext *p1; -struct PeerContext *p2; +static struct PeerContext *p2; static GNUNET_TRANSPORT_TESTING_ConnectRequest cc1; static GNUNET_TRANSPORT_TESTING_ConnectRequest cc2; -struct GNUNET_TRANSPORT_TransmitHandle *th; - -struct GNUNET_TRANSPORT_TESTING_handle *tth; +static struct GNUNET_TRANSPORT_TransmitHandle *th; -char *cfg_file_p1; +static struct GNUNET_TRANSPORT_TESTING_handle *tth; -char *cfg_file_p2; +static char *cfg_file_p1; -#if VERBOSE -#define OKPP do { ok++; FPRINTF (stderr, "Now at stage %u at %s:%u\n", ok, __FILE__, __LINE__); } while (0) -#else -#define OKPP do { ok++; } while (0) -#endif +static char *cfg_file_p2; static void @@ -97,9 +87,11 @@ end () if (die_task != GNUNET_SCHEDULER_NO_TASK) GNUNET_SCHEDULER_cancel (die_task); - if (th != NULL) + if (NULL != th) + { GNUNET_TRANSPORT_notify_transmit_ready_cancel (th); - th = NULL; + th = NULL; + } GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); GNUNET_TRANSPORT_TESTING_stop_peer (tth, p2); @@ -109,24 +101,27 @@ static void end_badly (void *cls, const struct GNUNET_SCHEDULER_TaskContext *tc) { die_task = GNUNET_SCHEDULER_NO_TASK; - GNUNET_log (GNUNET_ERROR_TYPE_DEBUG, "Fail! Stopping peers\n"); - - if (send_task != GNUNET_SCHEDULER_NO_TASK) GNUNET_SCHEDULER_cancel (send_task); - if (cc2 != NULL) + if (NULL != cc2) { GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers\n")); GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc2); cc2 = NULL; } - - if (th != NULL) + if (NULL != cc1) + { + GNUNET_log (GNUNET_ERROR_TYPE_ERROR, _("Fail! Could not connect peers\n")); + GNUNET_TRANSPORT_TESTING_connect_peers_cancel (tth, cc1); + cc1 = NULL; + } + if (NULL != th) + { GNUNET_TRANSPORT_notify_transmit_ready_cancel (th); - th = NULL; - + th = NULL; + } if (p1 != NULL) GNUNET_TRANSPORT_TESTING_stop_peer (tth, p1); if (p2 != NULL) @@ -270,6 +265,7 @@ notify_disconnect (void *cls, const struct GNUNET_PeerIdentity *peer) th = NULL; } + static void testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) { @@ -293,7 +289,8 @@ testing_connect_cb (struct PeerContext *p1, struct PeerContext *p2, void *cls) send_task = GNUNET_SCHEDULER_add_now (&sendtask, NULL); } -void + +static void start_cb (struct PeerContext *p, void *cls) { static int started; @@ -353,9 +350,6 @@ check () static char *const argv[] = { "test-transport-api", "-c", "test_transport_api_data.conf", -#if VERBOSE - "-L", "DEBUG", -#endif NULL }; static struct GNUNET_GETOPT_CommandLineOption options[] = { @@ -382,11 +376,7 @@ main (int argc, char *argv[]) GNUNET_TRANSPORT_TESTING_get_test_name (argv[0], &test_name); GNUNET_log_setup (test_name, -#if VERBOSE - "DEBUG", -#else "WARNING", -#endif NULL); GNUNET_TRANSPORT_TESTING_get_test_source_name (__FILE__, &test_source); diff --git a/src/transport/transport-testing.c b/src/transport/transport-testing.c index 4e11f2c78..ec0800842 100644 --- a/src/transport/transport-testing.c +++ b/src/transport/transport-testing.c @@ -455,14 +455,13 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct GNUNET_TRANSPORT_TESTING_handle *tth, struct PeerContext *p) { GNUNET_assert (p != NULL); - if (p->ghh != NULL) + { GNUNET_TRANSPORT_get_hello_cancel (p->ghh); - p->ghh = NULL; - + p->ghh = NULL; + } if (p->th != NULL) GNUNET_TRANSPORT_disconnect (p->th); - if (NULL != p->arm_proc) { if (0 != GNUNET_OS_process_kill (p->arm_proc, SIGTERM)) @@ -471,35 +470,31 @@ GNUNET_TRANSPORT_TESTING_stop_peer (struct GNUNET_TRANSPORT_TESTING_handle *tth, GNUNET_OS_process_close (p->arm_proc); p->arm_proc = NULL; } - if (p->hostkeyfile != NULL) { GNUNET_DISK_directory_remove (p->hostkeyfile); GNUNET_free (p->hostkeyfile); } - if (p->servicehome != NULL) { GNUNET_DISK_directory_remove (p->servicehome); GNUNET_free (p->servicehome); } - if (p->hello != NULL) + { GNUNET_free (p->hello); - p->hello = NULL; - + p->hello = NULL; + } if (p->cfg != NULL) + { GNUNET_CONFIGURATION_destroy (p->cfg); - p->cfg = NULL; - + p->cfg = NULL; + } GNUNET_CONTAINER_DLL_remove (tth->p_head, tth->p_tail, p); - GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", "Peer %u (`%s') stopped \n", p->no, GNUNET_i2s (&p->id)); - GNUNET_free (p); - p = NULL; } @@ -529,24 +524,18 @@ GNUNET_TRANSPORT_TESTING_connect_peers (struct GNUNET_TRANSPORT_TESTING_handle * GNUNET_assert (p1 != NULL); GNUNET_assert (p2 != NULL); - cc->p1 = p1; cc->p2 = p2; - cc->cb = cb; if (cls != NULL) cc->cb_cls = cls; else cc->cb_cls = cc; - cc->th_p1 = p1->th; cc->th_p2 = p2->th; - GNUNET_assert (cc->th_p1 != NULL); GNUNET_assert (cc->th_p2 != NULL); - GNUNET_CONTAINER_DLL_insert (tth->cc_head, tth->cc_tail, cc); - cc->tct = GNUNET_SCHEDULER_add_now (&try_connect, cc); GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, "transport-testing", "New connect request %X\n", cc);