[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r21627 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r21627 - gnunet/src/transport |
Date: |
Tue, 29 May 2012 14:20:56 +0200 |
Author: wachs
Date: 2012-05-29 14:20:56 +0200 (Tue, 29 May 2012)
New Revision: 21627
Modified:
gnunet/src/transport/plugin_transport_http.h
gnunet/src/transport/plugin_transport_http_server.c
Log:
- no rescheduling when mhd is scheduled to run asap
Modified: gnunet/src/transport/plugin_transport_http.h
===================================================================
--- gnunet/src/transport/plugin_transport_http.h 2012-05-29 12:11:02 UTC
(rev 21626)
+++ gnunet/src/transport/plugin_transport_http.h 2012-05-29 12:20:56 UTC
(rev 21627)
@@ -226,6 +226,11 @@
GNUNET_SCHEDULER_TaskIdentifier server_v4_task;
/**
+ * The IPv4 server is scheduled to run asap
+ */
+ int server_v4_immediately;
+
+ /**
* MHD IPv6 daemon
*/
struct MHD_Daemon *server_v6;
@@ -236,6 +241,12 @@
GNUNET_SCHEDULER_TaskIdentifier server_v6_task;
/**
+ * The IPv6 server is scheduled to run asap
+ */
+
+ int server_v6_immediately;
+
+ /**
* IPv4 server socket to bind to
*/
struct sockaddr_in *server_addr_v4;
Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2012-05-29 12:11:02 UTC
(rev 21626)
+++ gnunet/src/transport/plugin_transport_http_server.c 2012-05-29 12:20:56 UTC
(rev 21627)
@@ -236,6 +236,12 @@
{
if ((server == plugin->server_v4) && (plugin->server_v4 != NULL))
{
+ if (GNUNET_YES == plugin->server_v4_immediately)
+ return; /* No rescheduling, server will run asap */
+
+ if (GNUNET_YES == now)
+ plugin->server_v4_immediately = GNUNET_YES;
+
if (plugin->server_v4_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (plugin->server_v4_task);
@@ -246,6 +252,12 @@
if ((server == plugin->server_v6) && (plugin->server_v6 != NULL))
{
+ if (GNUNET_YES == plugin->server_v6_immediately)
+ return; /* No rescheduling, server will run asap */
+
+ if (GNUNET_YES == now)
+ plugin->server_v6_immediately = GNUNET_YES;
+
if (plugin->server_v6_task != GNUNET_SCHEDULER_NO_TASK)
{
GNUNET_SCHEDULER_cancel (plugin->server_v6_task);
@@ -917,17 +929,15 @@
GNUNET_assert (cls != NULL);
plugin->server_v4_task = GNUNET_SCHEDULER_NO_TASK;
-
if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
return;
#if 0
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Running IPv4 server\n");
#endif
+ plugin->server_v4_immediately = GNUNET_NO;
GNUNET_assert (MHD_YES == MHD_run (plugin->server_v4));
- if (plugin->server_v4 != NULL)
- plugin->server_v4_task =
- server_schedule (plugin, plugin->server_v4, GNUNET_NO);
+ server_reschedule (plugin, plugin->server_v4, GNUNET_NO);
}
@@ -943,19 +953,16 @@
struct Plugin *plugin = cls;
GNUNET_assert (cls != NULL);
-
plugin->server_v6_task = GNUNET_SCHEDULER_NO_TASK;
-
if (0 != (tc->reason & GNUNET_SCHEDULER_REASON_SHUTDOWN))
return;
#if 0
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
"Running IPv6 server\n");
#endif
+ plugin->server_v6_immediately = GNUNET_NO;
GNUNET_assert (MHD_YES == MHD_run (plugin->server_v6));
- if (plugin->server_v6 != NULL)
- plugin->server_v6_task =
- server_schedule (plugin, plugin->server_v6, GNUNET_NO);
+ server_reschedule (plugin, plugin->server_v6, GNUNET_NO);
}
/**
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r21627 - gnunet/src/transport,
gnunet <=