diff options
author | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-04-29 19:44:12 +0000 |
---|---|---|
committer | Evgeny Grin (Karlson2k) <k2k@narod.ru> | 2016-04-29 19:44:12 +0000 |
commit | 89d9493c84616eb423ab38248594f6d67cb867b5 (patch) | |
tree | 0fc439627977e53414f72120fd900077dc0d5582 | |
parent | e4d2c15c8dcb956c6e9bedd6e10b03ed979ae482 (diff) |
daemon.c: OS X: set SO_NOSIGPIPE on listen socket.
-rw-r--r-- | src/microhttpd/daemon.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/microhttpd/daemon.c b/src/microhttpd/daemon.c index 091dff52..5476f956 100644 --- a/src/microhttpd/daemon.c +++ b/src/microhttpd/daemon.c @@ -3598,6 +3598,9 @@ create_listen_socket (struct MHD_Daemon *daemon, { MHD_socket fd; int cloexec_set; +#if defined(OSX) && defined(SOL_SOCKET) && defined(SO_NOSIGPIPE) + static const int on_val = 1; +#endif /* use SOCK_STREAM rather than ai_socktype: some getaddrinfo * implementations do not set ai_socktype, e.g. RHL6.2. */ @@ -3618,6 +3621,9 @@ create_listen_socket (struct MHD_Daemon *daemon, } if (MHD_INVALID_SOCKET == fd) return MHD_INVALID_SOCKET; +#if defined(OSX) && defined(SOL_SOCKET) && defined(SO_NOSIGPIPE) + setsockopt(fd, SOL_SOCKET, SO_NOSIGPIPE, &on_val, sizeof(on_val)); +#endif if (MHD_NO == cloexec_set) make_noninheritable (daemon, fd); return fd; |