Handle resumed connections and closed "upgraded" connections in thread-per-connection mode with select(),

do not use zero delay in MHD_poll_listen_socket() if connections are resumed
This commit is contained in:
Evgeny Grin (Karlson2k)
2017-05-14 15:09:38 +03:00
parent 5c71e7550e
commit 6c991e0929
2 changed files with 9 additions and 4 deletions
+4
View File
@@ -1,3 +1,7 @@
Sun May 14 15:05:00 MSK 2017
Fixed resuming connections and closing upgraded connections in select()
mode with thread-per-connection. -EG
Sun May 14 14:49:00 MSK 2017
Removed extra call to resume connections in MHD_run().
Handle resumed connection without delay in epoll mode.
+5 -4
View File
@@ -3509,12 +3509,13 @@ MHD_select (struct MHD_Daemon *daemon,
FD_ZERO (&es);
maxsock = MHD_INVALID_SOCKET;
err_state = MHD_NO;
if ( (0 != (daemon->options & MHD_TEST_ALLOW_SUSPEND_RESUME)) &&
(MHD_YES == resume_suspended_connections (daemon)) &&
(0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) )
may_block = MHD_NO;
if (0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
{
if ( (0 != (daemon->options & MHD_TEST_ALLOW_SUSPEND_RESUME)) &&
(MHD_YES == resume_suspended_connections (daemon)) )
may_block = MHD_NO;
/* single-threaded, go over everything */
if (MHD_NO ==
internal_get_fdset2 (daemon,