diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2020-12-25 19:16:03 +0300 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2020-12-25 20:17:53 +0300 |
commit | 9e846e522b3aa03277ab19244d40b2dd1109f7b3 (patch) | |
tree | 36e9701a068bfecb6b6e80f436e2a32551ec9b21 | |
parent | d3589c58ffcee474e7ae2f2ce613938cec37f312 (diff) | |
download | libmicrohttpd-9e846e522b3aa03277ab19244d40b2dd1109f7b3.tar.gz libmicrohttpd-9e846e522b3aa03277ab19244d40b2dd1109f7b3.zip |
Fixed build and socket init on macOS
-rw-r--r-- | src/microhttpd/mhd_sockets.c | 24 |
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; |