commit a7b6407cc25d864cb5ce997d6dc693b6d0d2b223
parent 3a0f1ddb107eb8698d597d47295bf074eed31eb4
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date: Sun, 21 May 2017 17:43:14 +0300
cleanup_connection(): fixed cleanup of suspended connection
Diffstat:
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/src/microhttpd/connection.c b/src/microhttpd/connection.c
@@ -2834,17 +2834,6 @@ cleanup_connection (struct MHD_Connection *connection)
connection->response = NULL;
}
MHD_mutex_lock_chk_ (&daemon->cleanup_connection_mutex);
- if (0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
- {
- if (connection->connection_timeout == daemon->connection_timeout)
- XDLL_remove (daemon->normal_timeout_head,
- daemon->normal_timeout_tail,
- connection);
- else
- XDLL_remove (daemon->manual_timeout_head,
- daemon->manual_timeout_tail,
- connection);
- }
if (connection->suspended)
{
DLL_remove (daemon->suspended_connections_head,
@@ -2854,6 +2843,17 @@ cleanup_connection (struct MHD_Connection *connection)
}
else
{
+ if (0 == (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
+ {
+ if (connection->connection_timeout == daemon->connection_timeout)
+ XDLL_remove (daemon->normal_timeout_head,
+ daemon->normal_timeout_tail,
+ connection);
+ else
+ XDLL_remove (daemon->manual_timeout_head,
+ daemon->manual_timeout_tail,
+ connection);
+ }
DLL_remove (daemon->connections_head,
daemon->connections_tail,
connection);