libmicrohttpd

HTTP/1.x server C library (MHD 1.x, stable)
Log | Files | Refs | Submodules | README | LICENSE

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:
MChangeLog | 5+++++
Msrc/include/microhttpd.h | 2+-
Msrc/microhttpd/daemon.c | 2+-
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)) &&