[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r15868 - gnunet-setup/src
From: |
gnunet |
Subject: |
[GNUnet-SVN] r15868 - gnunet-setup/src |
Date: |
Thu, 7 Jul 2011 11:34:13 +0200 |
Author: grothoff
Date: 2011-07-07 11:34:13 +0200 (Thu, 07 Jul 2011)
New Revision: 15868
Modified:
gnunet-setup/src/gnunet-setup-transport-tcp.c
Log:
run with scheduler
Modified: gnunet-setup/src/gnunet-setup-transport-tcp.c
===================================================================
--- gnunet-setup/src/gnunet-setup-transport-tcp.c 2011-07-07 09:30:02 UTC
(rev 15867)
+++ gnunet-setup/src/gnunet-setup-transport-tcp.c 2011-07-07 09:34:13 UTC
(rev 15868)
@@ -29,7 +29,7 @@
/**
* How long do we wait for the NAT test to report success?
*/
-#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 5)
+#define TIMEOUT GNUNET_TIME_relative_multiply (GNUNET_TIME_UNIT_SECONDS, 1)
/**
* Handle to the active NAT test.
@@ -53,19 +53,12 @@
result_callback (void *cls,
int success)
{
- GtkWidget *w;
+ int *ok = cls;
- if (GNUNET_SCHEDULER_NO_TASK != tsk)
- {
- GNUNET_SCHEDULER_cancel (tsk);
- tsk = GNUNET_SCHEDULER_NO_TASK;
- }
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
- gtk_widget_show (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_fail_image"));
- gtk_widget_hide (w);
+ *ok = success;
+
+ GNUNET_SCHEDULER_cancel (tsk);
+ tsk = GNUNET_SCHEDULER_NO_TASK;
GNUNET_NAT_test_stop (tst);
tst = NULL;
}
@@ -82,39 +75,31 @@
fail_timeout (void *cls,
const struct GNUNET_SCHEDULER_TaskContext *tc)
{
- GtkWidget *w;
+ int *ok = cls;
+ *ok = GNUNET_NO;
tsk = GNUNET_SCHEDULER_NO_TASK;
GNUNET_NAT_test_stop (tst);
tst = NULL;
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
- gtk_widget_hide (w);
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_fail_image"));
- gtk_widget_show (w);
}
/**
- * Function called whenever the user wants to test the
- * TCP configuration.
+ * Main function for the NAT test.
+ *
+ * @param cls the 'int*' for the result
+ * @param tc scheduler context
*/
-void
-GNUNET_setup_transport_tcp_test_button_clicked_cb ()
+static void
+test (void *cls,
+ const struct GNUNET_SCHEDULER_TaskContext *tc)
{
+ int *ok = cls;
unsigned long long bnd_port;
unsigned long long adv_port;
- GtkWidget *w;
- if (NULL != tst)
- {
- GNUNET_NAT_test_stop (tst);
- tst = NULL;
- }
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_success_image"));
- gtk_widget_hide (w);
+ GNUNET_assert (NULL != cfg);
+ GNUNET_RESOLVER_connect (cfg);
if (GNUNET_OK !=
GNUNET_CONFIGURATION_get_value_number (cfg,
"transport-tcp",
@@ -130,27 +115,64 @@
"ADVERTISED_PORT",
&adv_port))
adv_port = bnd_port;
+ tsk = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
+ &fail_timeout,
+ ok);
tst = GNUNET_NAT_test_start (cfg,
GNUNET_YES,
(uint16_t) bnd_port,
(uint16_t) adv_port,
&result_callback,
- NULL);
- if (NULL == tst)
+ ok);
+}
+
+/**
+ * Function called whenever the user wants to test the
+ * TCP configuration.
+ */
+void
+GNUNET_setup_transport_tcp_test_button_clicked_cb ()
+{
+ GtkWidget *w;
+ int ok;
+ struct GNUNET_OS_Process *resolver;
+
+ if (NULL != tst)
{
+ GNUNET_NAT_test_stop (tst);
+ tst = NULL;
+ }
+ w = GTK_WIDGET (gtk_builder_get_object (builder,
+
"GNUNET_setup_transport_tcp_test_success_image"));
+ gtk_widget_hide (w);
+ resolver = GNUNET_OS_start_process (NULL, NULL,
+ "gnunet-service-resolver",
+ "gnunet-service-resolver", NULL);
+ ok = GNUNET_NO;
+ GNUNET_SCHEDULER_run (&test, &ok);
+ if (NULL != resolver)
+ {
+ GNUNET_break (0 == GNUNET_OS_process_kill (resolver, SIGTERM));
+ GNUNET_OS_process_close (resolver);
+ }
+ if (GNUNET_YES != ok)
+ {
w = GTK_WIDGET (gtk_builder_get_object (builder,
"GNUNET_setup_transport_tcp_test_fail_image"));
gtk_widget_show (w);
- return;
+ w = GTK_WIDGET (gtk_builder_get_object (builder,
+
"GNUNET_setup_transport_tcp_test_success_image"));
+ gtk_widget_hide (w);
}
- w = GTK_WIDGET (gtk_builder_get_object (builder,
-
"GNUNET_setup_transport_tcp_test_fail_image"));
- gtk_widget_hide (w);
- if (GNUNET_SCHEDULER_NO_TASK != tsk)
- GNUNET_SCHEDULER_cancel (tsk);
- tsk = GNUNET_SCHEDULER_add_delayed (TIMEOUT,
- &fail_timeout,
- NULL);
+ else
+ {
+ w = GTK_WIDGET (gtk_builder_get_object (builder,
+
"GNUNET_setup_transport_tcp_test_fail_image"));
+ gtk_widget_hide (w);
+ w = GTK_WIDGET (gtk_builder_get_object (builder,
+
"GNUNET_setup_transport_tcp_test_success_image"));
+ gtk_widget_show (w);
+ }
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r15868 - gnunet-setup/src,
gnunet <=