Drop detecting it at configure time, along with the interim macro
`HAVE_MSG_NOSIGNAL`. There is no longer a reason for this workaround,
and allows to save the work at configure time and simplify.
Also say in a comment that `sys/socket.h` is defining this macro.
Follow-up to
77b3bc239daf75d9fb7702ee34c8e5871c47d387
Closes #20559
cmake_pop_check_state()
endif()
-if(NOT WIN32)
- set(_source_epilogue "#undef inline")
- curl_add_header_include(HAVE_SYS_TYPES_H "sys/types.h")
- check_c_source_compiles("${_source_epilogue}
- #include <sys/socket.h>
- int main(void)
- {
- int flag = MSG_NOSIGNAL;
- (void)flag;
- return 0;
- }" HAVE_MSG_NOSIGNAL)
-endif()
-
set(_source_epilogue "#undef inline")
check_c_source_compiles("${_source_epilogue}
#ifdef _MSC_VER
else()
set(HAVE_MEMRCHR 1)
endif()
-set(HAVE_MSG_NOSIGNAL 1)
set(HAVE_NETDB_H 1)
if(ANDROID)
set(HAVE_NETINET_IN6_H 1)
set(HAVE_LOCALE_H 1)
set(HAVE_LOCALTIME_R 0)
set(HAVE_MEMRCHR 0)
-set(HAVE_MSG_NOSIGNAL 0)
set(HAVE_NETDB_H 0)
set(HAVE_NETINET_IN6_H 0)
set(HAVE_NETINET_IN_H 0)
fi
])
-dnl CURL_CHECK_MSG_NOSIGNAL
-dnl -------------------------------------------------
-dnl Check for MSG_NOSIGNAL
-
-AC_DEFUN([CURL_CHECK_MSG_NOSIGNAL], [
- AC_CHECK_HEADERS(sys/types.h)
- AC_CACHE_CHECK([for MSG_NOSIGNAL], [curl_cv_msg_nosignal], [
- AC_COMPILE_IFELSE([
- AC_LANG_PROGRAM([[
- #undef inline
- #ifdef _WIN32
- #ifndef WIN32_LEAN_AND_MEAN
- #define WIN32_LEAN_AND_MEAN
- #endif
- #include <winsock2.h>
- #else
- #ifdef HAVE_SYS_TYPES_H
- #include <sys/types.h>
- #endif
- #include <sys/socket.h>
- #endif
- ]],[[
- int flag = MSG_NOSIGNAL;
- (void)flag;
- ]])
- ],[
- curl_cv_msg_nosignal="yes"
- ],[
- curl_cv_msg_nosignal="no"
- ])
- ])
- case "$curl_cv_msg_nosignal" in
- yes)
- AC_DEFINE_UNQUOTED(HAVE_MSG_NOSIGNAL, 1,
- [Define to 1 if you have the MSG_NOSIGNAL flag.])
- ;;
- esac
-])
-
dnl CURL_CHECK_STRUCT_TIMEVAL
dnl -------------------------------------------------
CURL_CHECK_FUNC_RECV
CURL_CHECK_FUNC_SEND
-CURL_CHECK_MSG_NOSIGNAL
CURL_CHECK_FUNC_ALARM
CURL_CHECK_FUNC_BASENAME
/* Define to 1 if you have the 'suseconds_t' data type. */
#cmakedefine HAVE_SUSECONDS_T 1
-/* Define to 1 if you have the MSG_NOSIGNAL flag. */
-#cmakedefine HAVE_MSG_NOSIGNAL 1
-
/* Define to 1 if you have the <netdb.h> header file. */
#cmakedefine HAVE_NETDB_H 1
#endif
#ifndef _WIN32
-#include <sys/socket.h>
+#include <sys/socket.h> /* also for MSG_NOSIGNAL */
#endif
#include "functypes.h"
* If we have the MSG_NOSIGNAL define, make sure we use
* it as the fourth argument of function send()
*/
-#ifdef HAVE_MSG_NOSIGNAL
+#ifdef MSG_NOSIGNAL
#define SEND_4TH_ARG MSG_NOSIGNAL
#else
#define SEND_4TH_ARG 0
*/
static void multi_posttransfer(struct Curl_easy *data)
{
-#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL)
+#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(MSG_NOSIGNAL)
/* restore the signal handler for SIGPIPE before we get back */
if(!data->set.no_signal)
signal(SIGPIPE, data->state.prev_signal);
* different ports! */
data->state.allow_port = TRUE;
-#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(HAVE_MSG_NOSIGNAL)
+#if defined(HAVE_SIGNAL) && defined(SIGPIPE) && !defined(MSG_NOSIGNAL)
/*************************************************************
* Tell signal handler to ignore SIGPIPE
*************************************************************/