aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2021-08-24 15:56:03 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2021-08-24 16:06:10 +0300
commit4371815fc76e6e9bfa3c977c687bae94300e501b (patch)
tree0d1938d808f242dc1f2c7366aa33b391f4a7134b
parent3420745f28705865314aef7138a6a12ef6ec506d (diff)
downloadlibmicrohttpd-4371815fc76e6e9bfa3c977c687bae94300e501b.tar.gz
libmicrohttpd-4371815fc76e6e9bfa3c977c687bae94300e501b.zip
MHD_accept_connection: refactoring to improve readability
-rw-r--r--src/microhttpd/daemon.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c
index 4d089759..ce14a944 100644
--- a/src/microhttpd/daemon.c
+++ b/src/microhttpd/daemon.c
@@ -3519,6 +3519,7 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
3519 MHD_socket fd; 3519 MHD_socket fd;
3520 bool sk_nonbl; 3520 bool sk_nonbl;
3521 bool sk_spipe_supprs; 3521 bool sk_spipe_supprs;
3522 bool sk_cloexec;
3522 3523
3523#ifdef MHD_USE_THREADS 3524#ifdef MHD_USE_THREADS
3524 mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \ 3525 mhd_assert ( (0 == (daemon->options & MHD_USE_INTERNAL_POLLING_THREAD)) || \
@@ -3544,6 +3545,7 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
3544#else /* MHD_WINSOCK_SOCKETS */ 3545#else /* MHD_WINSOCK_SOCKETS */
3545 sk_spipe_supprs = true; /* Nothing to suppress on W32 */ 3546 sk_spipe_supprs = true; /* Nothing to suppress on W32 */
3546#endif /* MHD_WINSOCK_SOCKETS */ 3547#endif /* MHD_WINSOCK_SOCKETS */
3548 sk_cloexec = (SOCK_CLOEXEC_OR_ZERO != 0);
3547#else /* ! USE_ACCEPT4 */ 3549#else /* ! USE_ACCEPT4 */
3548 s = accept (fd, 3550 s = accept (fd,
3549 addr, 3551 addr,
@@ -3554,6 +3556,7 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
3554#else /* MHD_WINSOCK_SOCKETS */ 3556#else /* MHD_WINSOCK_SOCKETS */
3555 sk_spipe_supprs = true; /* Nothing to suppress on W32 */ 3557 sk_spipe_supprs = true; /* Nothing to suppress on W32 */
3556#endif /* MHD_WINSOCK_SOCKETS */ 3558#endif /* MHD_WINSOCK_SOCKETS */
3559 sk_cloexec = false;
3557#endif /* ! USE_ACCEPT4 */ 3560#endif /* ! USE_ACCEPT4 */
3558 if ( (MHD_INVALID_SOCKET == s) || 3561 if ( (MHD_INVALID_SOCKET == s) ||
3559 (addrlen <= 0) ) 3562 (addrlen <= 0) )
@@ -3624,17 +3627,18 @@ MHD_accept_connection (struct MHD_Daemon *daemon)
3624 } 3627 }
3625 else 3628 else
3626 sk_nonbl = true; 3629 sk_nonbl = true;
3627#endif /* !USE_ACCEPT4 || !HAVE_SOCK_NONBLOCK */ 3630
3628#if ! defined(USE_ACCEPT4) || ! defined(SOCK_CLOEXEC) 3631 if (! sk_cloexec && ! MHD_socket_noninheritable_ (s))
3629 if (! MHD_socket_noninheritable_ (s))
3630 { 3632 {
3631#ifdef HAVE_MESSAGES 3633#ifdef HAVE_MESSAGES
3632 MHD_DLOG (daemon, 3634 MHD_DLOG (daemon,
3633 _ ("Failed to set noninheritable mode on incoming connection " \ 3635 _ ("Failed to set noninheritable mode on incoming connection " \
3634 "socket.\n")); 3636 "socket.\n"));
3635#endif 3637#else /* ! HAVE_MESSAGES */
3638 (void) 0; /* Mute compiler warning */
3639#endif /* ! HAVE_MESSAGES */
3636 } 3640 }
3637#endif /* !USE_ACCEPT4 || !SOCK_CLOEXEC */ 3641
3638#if defined(MHD_socket_nosignal_) 3642#if defined(MHD_socket_nosignal_)
3639 if (! sk_spipe_supprs && ! MHD_socket_nosignal_ (s)) 3643 if (! sk_spipe_supprs && ! MHD_socket_nosignal_ (s))
3640 { 3644 {