commit ed9dfcdad4b3328342b2c8cc3fda29b18abe9ce9
parent 280d6c473fd2f0cbab831b633b827a506678c87a
Author: Christian Grothoff <christian@grothoff.org>
Date: Thu, 26 Jun 2014 19:07:19 +0000
fix failure to terminate quickly in thread-per-connection mode if clients have open connections
Diffstat:
3 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/ChangeLog b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jun 26 21:06:04 CEST 2014
+ Fix failure to terminate 'instantly' in thread-per-connection
+ mode if there is a client with open connections.
+ Thanks to Kenneth Mastro for reporting. -CG
+
Sun Jun 22 12:22:08 CEST 2014
Actually, avoid locking on response as responses must
not be modified in a connection-specific way; instead
diff --git a/src/include/microhttpd.h b/src/include/microhttpd.h
@@ -130,7 +130,7 @@ typedef intptr_t ssize_t;
* Current version of the library.
* 0x01093001 = 1.9.30-1.
*/
-#define MHD_VERSION 0x00093703
+#define MHD_VERSION 0x00093704
/**
* MHD-internal return code for "YES".
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
@@ -3996,7 +3996,7 @@ close_all_connections (struct MHD_Daemon *daemon)
if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&
(MHD_YES != MHD_mutex_lock_ (&daemon->cleanup_connection_mutex)) )
MHD_PANIC ("Failed to acquire cleanup mutex\n");
- for (pos = daemon->connections_head; NULL != pos; pos = pos->nextX)
+ for (pos = daemon->connections_head; NULL != pos; pos = pos->next)
shutdown (pos->socket_fd,
(pos->read_closed == MHD_YES) ? SHUT_WR : SHUT_RDWR);
if ( (0 != (daemon->options & MHD_USE_THREAD_PER_CONNECTION)) &&