summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorng0 <ng0@n0.is>2019-07-30 08:31:41 +0000
committerng0 <ng0@n0.is>2019-07-30 08:31:41 +0000
commit5b83823ef36d4fe43094dd72969adf0fc68d7e64 (patch)
tree829d7fd6db8c62b6553623d644220f746b9ff64b
parent57054d044880168615e380fc9ab0f37563020019 (diff)
Add MSG_MORE detection.
-rw-r--r--configure.ac21
-rw-r--r--src/microhttpd/mhd_send.c6
2 files changed, 24 insertions, 3 deletions
diff --git a/configure.ac b/configure.ac
index 49bcd624..4d6e263c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -644,9 +644,30 @@ AM_CONDITIONAL([HAVE_LISTEN_SHUTDOWN], [test "x$mhd_cv_host_shtdwn_trgr_select"
# SENDMSG. Should we check for SCM_RIGHTS instead?
# https://lists.x.org/archives/xorg-devel/2013-November/038687.html
+AC_MSG_CHECKING([whether sendmsg is available])
AC_SEARCH_LIBS(sendmsg, socket, AC_DEFINE([HAVE_SENDMSG],1,[Define if your platform supports sendmsg]))
+AC_MSG_CHECKING([whether writev is available])
AC_CHECK_FUNCS([writev])
+# check MSG_MORE defined
+AC_MSG_CHECKING([whether MSG_MORE defined])
+AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
+#include <sys/types.h>
+#include <sys/socket.h>
+
+int main(int argc, char **argv)
+{
+ return MSG_MORE;
+}
+ ])],
+ [
+ AC_MSG_RESULT(yes)
+ AC_DEFINE(HAVE_MSG_MORE, [1], [have MSG_MORE])
+ ],
+ [
+ AC_MSG_RESULT(no)
+ ])
+
# set GCC options
# use '-fno-strict-aliasing', but only if the compiler
# and linker can take it
diff --git a/src/microhttpd/mhd_send.c b/src/microhttpd/mhd_send.c
index 6637d2d2..8eec8234 100644
--- a/src/microhttpd/mhd_send.c
+++ b/src/microhttpd/mhd_send.c
@@ -21,7 +21,7 @@
/**
* @file microhttpd/mhd_send.c
* @brief Implementation of send() wrappers.
- * @author ng0 <ng0@n0.is>
+ * @author ng0 (N. Gillmann)
* @author Christian Grothoff
* @author Evgeny Grin
*/
@@ -48,7 +48,7 @@ static void
pre_cork_setsockopt (struct MHD_Connection *connection,
bool want_cork)
{
-#if MSG_MORE
+#if HAVE_MSG_MORE
#else
int ret;
const MHD_SCKT_OPT_BOOL_ off_val = 0;
@@ -101,7 +101,7 @@ static void
post_cork_setsockopt (struct MHD_Connection *connection,
bool want_cork)
{
-#if MSG_MORE
+#if HAVE_MSG_MORE
#else
int ret;
const MHD_SCKT_OPT_BOOL_ off_val = 0;