libmicrohttpd

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

commit 5cbdf771760d1e50147ee54b44b200218fa20ebe
parent 149db58a0625bf02109d7a715f905a0b921cc9e5
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
Date:   Fri, 17 Nov 2023 13:49:32 +0300

MHD_start_daemon(): moved daemon flags internal initialisation

Diffstat:
Msrc/microhttpd/daemon.c | 29++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)

diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c @@ -7594,6 +7594,10 @@ MHD_start_daemon_va (unsigned int flags, MHD_check_global_init_ (); eflags = (enum MHD_FLAG) flags; pflags = &eflags; + + if (0 != (*pflags & MHD_USE_THREAD_PER_CONNECTION)) + *pflags |= MHD_USE_INTERNAL_POLLING_THREAD; /* Force enable, log warning later if needed */ + #ifndef HAVE_INET6 if (0 != (*pflags & MHD_USE_IPv6)) return NULL; @@ -7657,6 +7661,16 @@ MHD_start_daemon_va (unsigned int flags, #endif } + if (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD)) + *pflags = (*pflags & ~((enum MHD_FLAG) MHD_USE_ITC)); /* useless if we are using 'external' select */ + else + { +#ifdef HAVE_LISTEN_SHUTDOWN + if (0 != (*pflags & MHD_USE_NO_LISTEN_SOCKET)) +#endif + *pflags |= MHD_USE_ITC; /* yes, must use ITC to signal thread */ + } + if (NULL == (daemon = MHD_calloc_ (1, sizeof (struct MHD_Daemon)))) return NULL; interim_params = (struct MHD_InterimParams_ *) \ @@ -7723,21 +7737,6 @@ MHD_start_daemon_va (unsigned int flags, daemon->fdset_size_set_by_app = false; #endif /* HAS_FD_SETSIZE_OVERRIDABLE */ - if ( (0 != (*pflags & MHD_USE_THREAD_PER_CONNECTION)) && - (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD)) ) - { - /* Log warning message later, when log parameters are processes */ - *pflags |= MHD_USE_INTERNAL_POLLING_THREAD; - } - if (0 == (*pflags & MHD_USE_INTERNAL_POLLING_THREAD)) - *pflags = (*pflags & ~((enum MHD_FLAG) MHD_USE_ITC)); /* useless if we are using 'external' select */ - else - { -#ifdef HAVE_LISTEN_SHUTDOWN - if (0 != (*pflags & MHD_USE_NO_LISTEN_SOCKET)) -#endif - *pflags |= MHD_USE_ITC; /* yes, must use ITC to signal thread */ - } #ifdef DAUTH_SUPPORT daemon->digest_auth_rand_size = 0; daemon->digest_auth_random = NULL;