[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] r18172 - gnunet/src/transport
From: |
gnunet |
Subject: |
[GNUnet-SVN] r18172 - gnunet/src/transport |
Date: |
Wed, 16 Nov 2011 12:02:27 +0100 |
Author: wachs
Date: 2011-11-16 12:02:27 +0100 (Wed, 16 Nov 2011)
New Revision: 18172
Modified:
gnunet/src/transport/plugin_transport_http_server.c
Log:
fixing mantis #1906
Modified: gnunet/src/transport/plugin_transport_http_server.c
===================================================================
--- gnunet/src/transport/plugin_transport_http_server.c 2011-11-16 09:39:33 UTC
(rev 18171)
+++ gnunet/src/transport/plugin_transport_http_server.c 2011-11-16 11:02:27 UTC
(rev 18172)
@@ -243,9 +243,9 @@
*/
static void
-server_reschedule (struct Plugin *plugin, int now)
+server_reschedule (struct Plugin *plugin, struct MHD_Daemon *server, int now)
{
- if (plugin->server_v4 != NULL)
+ if ((server == plugin->server_v4) && (plugin->server_v4 != NULL))
{
if (plugin->server_v4_task != GNUNET_SCHEDULER_NO_TASK)
{
@@ -255,7 +255,7 @@
plugin->server_v4_task = server_schedule (plugin, plugin->server_v4, now);
}
- if (plugin->server_v6 != NULL)
+ if ((server == plugin->server_v6) && (plugin->server_v6 != NULL))
{
if (plugin->server_v6_task != GNUNET_SCHEDULER_NO_TASK)
{
@@ -347,7 +347,7 @@
}
}
-#if VERBOSE_CLIENT
+#if VERBOSE_SERVER
struct Plugin *plugin = s->plugin;
GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
"Server: %X: sent %u bytes\n", s, bytes_read);
@@ -536,7 +536,6 @@
GNUNET_break (0);
goto error;
}
-
s = create_session (plugin, &target, a, a_len, NULL, NULL);
s->inbound = GNUNET_YES;
@@ -575,7 +574,14 @@
"Server: Setting timeout for %X to %u sec.\n", sc, to);
#endif
MHD_set_connection_option (mhd_connection, MHD_CONNECTION_OPTION_TIMEOUT,
to);
- server_reschedule (plugin, GNUNET_NO);
+
+ struct MHD_Daemon * d = NULL;
+ if (s->addrlen == sizeof (struct IPv6HttpAddress))
+ d = plugin->server_v6;
+ if (s->addrlen == sizeof (struct IPv4HttpAddress))
+ d = plugin->server_v4;
+
+ server_reschedule (plugin, d, GNUNET_NO);
#endif
return sc;
}
@@ -732,7 +738,12 @@
MHD_set_connection_option (t->mhd_conn,
MHD_CONNECTION_OPTION_TIMEOUT,
to);
}
- server_reschedule (plugin, GNUNET_NO);
+ struct MHD_Daemon *d = NULL;
+ if (s->addrlen == sizeof (struct IPv6HttpAddress))
+ d = plugin->server_v6;
+ if (s->addrlen == sizeof (struct IPv4HttpAddress))
+ d = plugin->server_v4;
+ server_reschedule (plugin, d, GNUNET_NO);
#endif
(*upload_data_size) = 0;
}
@@ -827,7 +838,12 @@
}
plugin->cur_connections--;
- server_reschedule (plugin, GNUNET_NO);
+ struct MHD_Daemon *d = NULL;
+ if (s->addrlen == sizeof (struct IPv6HttpAddress))
+ d = plugin->server_v6;
+ if (s->addrlen == sizeof (struct IPv4HttpAddress))
+ d = plugin->server_v4;
+ server_reschedule (plugin, d, GNUNET_NO);
if ((s->server_send == NULL) && (s->server_recv == NULL))
{
@@ -875,7 +891,17 @@
server_send (struct Session *s, struct HTTP_Message *msg)
{
GNUNET_CONTAINER_DLL_insert (s->msg_head, s->msg_tail, msg);
- server_reschedule (s->plugin, GNUNET_YES);
+
+ if (s->addrlen == sizeof (struct IPv4HttpAddress))
+ {
+ server_reschedule (s->plugin, s->plugin->server_v4 , GNUNET_YES);
+ }
+ else if (s->addrlen == sizeof (struct IPv6HttpAddress))
+ {
+ server_reschedule (s->plugin, s->plugin->server_v6 , GNUNET_YES);
+ }
+ else
+ return GNUNET_SYSERR;
return GNUNET_OK;
}
@@ -1142,6 +1168,8 @@
plugin->name, plugin->port);
return GNUNET_SYSERR;
}
+ server_reschedule (plugin, plugin->server_v4, GNUNET_NO);
+
if ((plugin->ipv6 == GNUNET_YES) && (plugin->server_v6 == NULL))
{
GNUNET_log_from (GNUNET_ERROR_TYPE_ERROR, plugin->name,
@@ -1149,8 +1177,8 @@
plugin->name, plugin->port);
return GNUNET_SYSERR;
}
+ server_reschedule (plugin, plugin->server_v6, GNUNET_NO);
- server_reschedule (plugin, GNUNET_NO);
#if DEBUG_HTTP
GNUNET_log_from (GNUNET_ERROR_TYPE_DEBUG, plugin->name,
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GNUnet-SVN] r18172 - gnunet/src/transport,
gnunet <=