int fd = -1;
for (struct addrinfo *ai = res; ai != NULL; ai = ai->ai_next) {
- fd = socket(ai->ai_family, ai->ai_socktype | SOCK_CLOEXEC, 0);
+ int flags = ai->ai_socktype;
+#ifdef SOCK_CLOEXEC
+ flags |= SOCK_CLOEXEC;
+#endif
+
+ fd = socket(ai->ai_family, flags, 0);
if (fd == -1)
continue;
return NULL;
}
+ unsigned int flags = MHD_USE_THREAD_PER_CONNECTION | MHD_USE_DEBUG;
+#if MHD_VERSION >= 0x00095300
+ flags |= MHD_USE_INTERNAL_POLLING_THREAD;
+#endif
+
struct MHD_Daemon *d = MHD_start_daemon(
- MHD_USE_THREAD_PER_CONNECTION | MHD_USE_DEBUG, httpd_port,
+ flags, httpd_port,
/* MHD_AcceptPolicyCallback = */ NULL,
/* MHD_AcceptPolicyCallback arg = */ NULL, http_handler, NULL,
MHD_OPTION_LISTEN_SOCKET, fd, MHD_OPTION_EXTERNAL_LOGGER, prom_logger,