diff --git a/ChangeLog b/ChangeLog index fd38fdd2..ceed07fb 100644 --- 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 index 34c6da1f..97cde58b 100644 --- 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 index 0fdd32eb..8f15498c 100644 --- 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)) &&