aboutsummaryrefslogtreecommitdiff
path: root/src/microhttpd/mhd_sockets.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/microhttpd/mhd_sockets.c')
-rw-r--r--src/microhttpd/mhd_sockets.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/microhttpd/mhd_sockets.c b/src/microhttpd/mhd_sockets.c
index ddcc1f25..356d288f 100644
--- a/src/microhttpd/mhd_sockets.c
+++ b/src/microhttpd/mhd_sockets.c
@@ -464,31 +464,22 @@ MHD_socket_noninheritable_ (MHD_socket sock)
464/** 464/**
465 * Create a listen socket, with noninheritable flag if possible. 465 * Create a listen socket, with noninheritable flag if possible.
466 * 466 *
467 * @param use_ipv6 if set to non-zero IPv6 is used 467 * @param pf protocol family to use
468 * @return created socket or MHD_INVALID_SOCKET in case of errors 468 * @return created socket or MHD_INVALID_SOCKET in case of errors
469 */ 469 */
470MHD_socket 470MHD_socket
471MHD_socket_create_listen_ (bool use_ipv6) 471MHD_socket_create_listen_ (int pf)
472{ 472{
473 int domain;
474 MHD_socket fd; 473 MHD_socket fd;
475 int cloexec_set; 474 int cloexec_set;
476 475
477#ifdef HAVE_INET6
478 domain = (use_ipv6) ? PF_INET6 : PF_INET;
479#else /* ! HAVE_INET6 */
480 if (use_ipv6)
481 return MHD_INVALID_SOCKET;
482 domain = PF_INET;
483#endif /* ! HAVE_INET6 */
484
485#if defined(MHD_POSIX_SOCKETS) && defined(SOCK_CLOEXEC) 476#if defined(MHD_POSIX_SOCKETS) && defined(SOCK_CLOEXEC)
486 fd = socket (domain, 477 fd = socket (pf,
487 SOCK_STREAM | SOCK_CLOEXEC, 478 SOCK_STREAM | SOCK_CLOEXEC,
488 0); 479 0);
489 cloexec_set = !0; 480 cloexec_set = !0;
490#elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT) 481#elif defined(MHD_WINSOCK_SOCKETS) && defined (WSA_FLAG_NO_HANDLE_INHERIT)
491 fd = WSASocketW (domain, 482 fd = WSASocketW (pf,
492 SOCK_STREAM, 483 SOCK_STREAM,
493 0, 484 0,
494 NULL, 485 NULL,
@@ -500,7 +491,7 @@ MHD_socket_create_listen_ (bool use_ipv6)
500#endif /* !SOCK_CLOEXEC */ 491#endif /* !SOCK_CLOEXEC */
501 if (MHD_INVALID_SOCKET == fd) 492 if (MHD_INVALID_SOCKET == fd)
502 { 493 {
503 fd = socket (domain, 494 fd = socket (pf,
504 SOCK_STREAM, 495 SOCK_STREAM,
505 0); 496 0);
506 cloexec_set = 0; 497 cloexec_set = 0;