aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvgeny Grin (Karlson2k) <k2k@narod.ru>2020-12-25 19:16:03 +0300
committerEvgeny Grin (Karlson2k) <k2k@narod.ru>2020-12-25 20:17:53 +0300
commit9e846e522b3aa03277ab19244d40b2dd1109f7b3 (patch)
tree36e9701a068bfecb6b6e80f436e2a32551ec9b21
parentd3589c58ffcee474e7ae2f2ce613938cec37f312 (diff)
downloadlibmicrohttpd-9e846e522b3aa03277ab19244d40b2dd1109f7b3.tar.gz
libmicrohttpd-9e846e522b3aa03277ab19244d40b2dd1109f7b3.zip
Fixed build and socket init on macOS
-rw-r--r--src/microhttpd/mhd_sockets.c24
1 files changed, 14 insertions, 10 deletions
diff --git a/src/microhttpd/mhd_sockets.c b/src/microhttpd/mhd_sockets.c
index ef3dc35d..fef7085c 100644
--- a/src/microhttpd/mhd_sockets.c
+++ b/src/microhttpd/mhd_sockets.c
@@ -516,10 +516,9 @@ MHD_socket_cork_ (MHD_socket sock,
516 (const void *) (on ? &on_val : &off_val), 516 (const void *) (on ? &on_val : &off_val),
517 sizeof (off_val))) 517 sizeof (off_val)))
518 return 0; /* failed */ 518 return 0; /* failed */
519#if defined(__FreeBSD__) && __FreeBSD__ + 0 >= 9 519#if defined(_MHD_CORK_RESET_PUSH_DATA)
520 /* FreeBSD do not need zero-send for flushing starting from version 9 */
521 return 1; 520 return 1;
522#elif defined(TCP_NOPUSH) && ! defined(TCP_CORK) 521#else /* ! _MHD_CORK_RESET_PUSH_DATA */
523 if (! on) 522 if (! on)
524 { 523 {
525 const int dummy = 0; 524 const int dummy = 0;
@@ -533,14 +532,13 @@ MHD_socket_cork_ (MHD_socket sock,
533 return 0; /* even force flush failed!? */ 532 return 0; /* even force flush failed!? */
534 return 1; /* success */ 533 return 1; /* success */
535 } 534 }
536#else 535 return 1;
537 return 1; /* success */ 536#endif /* ! _MHD_CORK_RESET_PUSH_DATA */
538#endif 537#else /* ! MHD_TCP_CORK_NOPUSH */
539#else
540 /* do not have MHD_TCP_CORK_NOPUSH at all */ 538 /* do not have MHD_TCP_CORK_NOPUSH at all */
541 (void) sock; (void) on; /* Mute compiler warnings */ 539 (void) sock; (void) on; /* Mute compiler warnings */
542 return 0; 540 return 0;
543#endif 541#endif /* ! MHD_TCP_CORK_NOPUSH */
544} 542}
545 543
546 544
@@ -589,10 +587,13 @@ MHD_socket_create_listen_ (int pf)
589 fd = socket (pf, 587 fd = socket (pf,
590 SOCK_STREAM | SOCK_CLOEXEC | SOCK_NOSIGPIPE_OR_ZERO, 588 SOCK_STREAM | SOCK_CLOEXEC | SOCK_NOSIGPIPE_OR_ZERO,
591 0); 589 0);
592 cloexec_set = (SOCK_CLOEXEC_OR_ZERO != 0); 590 if (MHD_INVALID_SOCKET != fd)
591 {
592 cloexec_set = (SOCK_CLOEXEC_OR_ZERO != 0);
593#if defined(SOCK_NOSIGPIPE) || defined(MHD_socket_nosignal_) 593#if defined(SOCK_NOSIGPIPE) || defined(MHD_socket_nosignal_)
594 nosigpipe_set = (SOCK_NOSIGPIPE_OR_ZERO != 0); 594 nosigpipe_set = (SOCK_NOSIGPIPE_OR_ZERO != 0);
595#endif /* SOCK_NOSIGPIPE || MHD_socket_nosignal_ */ 595#endif /* SOCK_NOSIGPIPE || MHD_socket_nosignal_ */
596 }
596#elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT) 597#elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT)
597 fd = WSASocketW (pf, 598 fd = WSASocketW (pf,
598 SOCK_STREAM, 599 SOCK_STREAM,
@@ -610,6 +611,9 @@ MHD_socket_create_listen_ (int pf)
610 SOCK_STREAM, 611 SOCK_STREAM,
611 0); 612 0);
612 cloexec_set = 0; 613 cloexec_set = 0;
614#if defined(SOCK_NOSIGPIPE) || defined(MHD_socket_nosignal_)
615 nosigpipe_set = 0;
616#endif /* SOCK_NOSIGPIPE || MHD_socket_nosignal_ */
613 } 617 }
614 if (MHD_INVALID_SOCKET == fd) 618 if (MHD_INVALID_SOCKET == fd)
615 return MHD_INVALID_SOCKET; 619 return MHD_INVALID_SOCKET;