aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/daemon.c
diff options
context:
space:
mode:
authorChristian Grothoff <christian@grothoff.org>2015-04-04 16:30:00 +0000
committerChristian Grothoff <christian@grothoff.org>2015-04-04 16:30:00 +0000
commit334974b4b18840b88c3332ba68863f6c9394b46d (patch)
treec64960ee38ba14bc0eafe48d126718444a4193cf /src/microhttpd/daemon.c
parent6d68b2d3af8881af035259d24d80aabe6bf93c22 (diff)
downloadlibmicrohttpd-334974b4b18840b88c3332ba68863f6c9394b46d.tar.gz
libmicrohttpd-334974b4b18840b88c3332ba68863f6c9394b46d.zip
fix multi-threaded shutdown deadlock issue
Diffstat (limited to 'src/microhttpd/daemon.c')
-rw-r--r--src/microhttpd/daemon.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 01a5b6d4..bd952ce3 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -4213,6 +4213,8 @@ close_connection (struct MHD_Connection *pos)
4213 4213
4214 MHD_connection_close (pos, 4214 MHD_connection_close (pos,
4215 MHD_REQUEST_TERMINATED_DAEMON_SHUTDOWN); 4215 MHD_REQUEST_TERMINATED_DAEMON_SHUTDOWN);
4216 if (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION))
4217 return; /* must let thread to the rest */
4216 if (pos->connection_timeout == pos->daemon->connection_timeout) 4218 if (pos->connection_timeout == pos->daemon->connection_timeout)
4217 XDLL_remove (daemon->normal_timeout_head, 4219 XDLL_remove (daemon->normal_timeout_head,
4218 daemon->normal_timeout_tail, 4220 daemon->normal_timeout_tail,