mirror of
https://github.com/curl/curl.git
synced 2026-04-11 12:01:42 +08:00
build: check MSG_NOSIGNAL directly, drop detection and interim macro
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 77b3bc239d
Closes #20559
This commit is contained in:
parent
c05cd2a10e
commit
982ab7b53f
@ -50,19 +50,6 @@ if(NOT DEFINED HAVE_STRUCT_SOCKADDR_STORAGE)
|
||||
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
|
||||
|
||||
@ -179,7 +179,6 @@ if(APPLE OR
|
||||
else()
|
||||
set(HAVE_MEMRCHR 1)
|
||||
endif()
|
||||
set(HAVE_MSG_NOSIGNAL 1)
|
||||
set(HAVE_NETDB_H 1)
|
||||
if(ANDROID)
|
||||
set(HAVE_NETINET_IN6_H 1)
|
||||
|
||||
@ -125,7 +125,6 @@ set(HAVE_LINUX_TCP_H 0)
|
||||
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)
|
||||
|
||||
39
acinclude.m4
39
acinclude.m4
@ -703,45 +703,6 @@ AC_DEFUN([CURL_CHECK_FUNC_SEND], [
|
||||
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 -------------------------------------------------
|
||||
|
||||
@ -4127,7 +4127,6 @@ CURL_CHECK_FUNC_SELECT
|
||||
|
||||
CURL_CHECK_FUNC_RECV
|
||||
CURL_CHECK_FUNC_SEND
|
||||
CURL_CHECK_MSG_NOSIGNAL
|
||||
|
||||
CURL_CHECK_FUNC_ALARM
|
||||
CURL_CHECK_FUNC_BASENAME
|
||||
|
||||
@ -400,9 +400,6 @@
|
||||
/* 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
|
||||
|
||||
|
||||
@ -852,7 +852,7 @@
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
#include <sys/socket.h>
|
||||
#include <sys/socket.h> /* also for MSG_NOSIGNAL */
|
||||
#endif
|
||||
|
||||
#include "functypes.h"
|
||||
@ -880,7 +880,7 @@ struct timeval {
|
||||
* 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
|
||||
|
||||
@ -1852,7 +1852,7 @@ static void set_in_callback(struct Curl_multi *multi, bool value)
|
||||
*/
|
||||
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);
|
||||
|
||||
@ -535,7 +535,7 @@ CURLcode Curl_pretransfer(struct Curl_easy *data)
|
||||
* 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
|
||||
*************************************************************/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user