aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-05-12 10:55:09 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2022-05-12 10:56:16 +0300
commitc1a1826e8ebb8814fb26e2d255235f6527297f00 (patch)
treec534a4a654005d69d6eab1780be82ff1b2b8bec8
parent5ea2a8e68f19204cd64f6c510d3e87853d5457bb (diff)
downloadlibmicrohttpd-c1a1826e8ebb8814fb26e2d255235f6527297f00.tar.gz
libmicrohttpd-c1a1826e8ebb8814fb26e2d255235f6527297f00.zip
Enforced no use of 'per_ip_connection_mutex' in slave daemons
-rw-r--r--src/microhttpd/daemon.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 6a2677fc..dd19a095 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -260,6 +260,7 @@ struct MHD_IPCount
260static void 260static void
261MHD_ip_count_lock (struct MHD_Daemon *daemon) 261MHD_ip_count_lock (struct MHD_Daemon *daemon)
262{ 262{
263 mhd_assert (NULL == daemon->master);
263#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS) 264#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
264 MHD_mutex_lock_chk_ (&daemon->per_ip_connection_mutex); 265 MHD_mutex_lock_chk_ (&daemon->per_ip_connection_mutex);
265#else 266#else
@@ -276,6 +277,7 @@ MHD_ip_count_lock (struct MHD_Daemon *daemon)
276static void 277static void
277MHD_ip_count_unlock (struct MHD_Daemon *daemon) 278MHD_ip_count_unlock (struct MHD_Daemon *daemon)
278{ 279{
280 mhd_assert (NULL == daemon->master);
279#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS) 281#if defined(MHD_USE_POSIX_THREADS) || defined(MHD_USE_W32_THREADS)
280 MHD_mutex_unlock_chk_ (&daemon->per_ip_connection_mutex); 282 MHD_mutex_unlock_chk_ (&daemon->per_ip_connection_mutex);
281#else 283#else
@@ -7482,6 +7484,10 @@ MHD_start_daemon_va (unsigned int flags,
7482 goto thread_failed; 7484 goto thread_failed;
7483 } 7485 }
7484 /* Some members must be used only in master daemon */ 7486 /* Some members must be used only in master daemon */
7487#if defined(MHD_USE_THREADS)
7488 memset (&d->per_ip_connection_mutex, 1,
7489 sizeof(d->per_ip_connection_mutex));
7490#endif /* MHD_USE_THREADS */
7485#ifdef DAUTH_SUPPORT 7491#ifdef DAUTH_SUPPORT
7486 d->nnc = NULL; 7492 d->nnc = NULL;
7487 d->nonce_nc_size = 0; 7493 d->nonce_nc_size = 0;