add a global macro

This commit is contained in:
Viktor Szakats 2025-08-04 15:08:17 +02:00
parent a41a9bfbed
commit 2d57c49d92
No known key found for this signature in database
GPG key ID: B5ABD165E2AEF201
3 changed files with 10 additions and 5 deletions

View file

@ -109,7 +109,7 @@ static void set_ipv6_v6only(curl_socket_t sockfd, int on)
static void tcpnodelay(struct Curl_easy *data, curl_socket_t sockfd)
{
#if defined(TCP_NODELAY) && !defined(__EMSCRIPTEN__)
#if defined(TCP_NODELAY) && defined(CURL_TCP_NODELAY_SUPPORTED)
curl_socklen_t onoff = (curl_socklen_t) 1;
int level = IPPROTO_TCP;
char buffer[STRERROR_LEN];

View file

@ -1125,6 +1125,11 @@ int getpwuid_r(uid_t uid, struct passwd *pwd, char *buf,
#define USE_HTTP3
#endif
/* WebAssembly builds have TCP_NODELAY, but runtime support is missing. */
#ifndef __EMSCRIPTEN__
#define CURL_TCP_NODELAY_SUPPORTED
#endif
/* Certain Windows implementations are not aligned with what curl expects,
so always use the local one on this platform. E.g. the mingw-w64
implementation can return wrong results for non-ASCII inputs. */

View file

@ -158,7 +158,7 @@ static const char *doc404 = "HTTP/1.1 404 Not Found\r\n"
/* work around for handling trailing headers */
static int already_recv_zeroed_chunk = FALSE;
#if defined(TCP_NODELAY) && !defined(__EMSCRIPTEN__)
#if defined(TCP_NODELAY) && defined(CURL_TCP_NODELAY_SUPPORTED)
/* returns true if the current socket is an IP one */
static bool socket_domain_is_ip(void)
{
@ -1239,7 +1239,7 @@ static curl_socket_t connect_to(const char *ipaddr, unsigned short port)
return CURL_SOCKET_BAD;
}
#if defined(TCP_NODELAY) && !defined(__EMSCRIPTEN__)
#if defined(TCP_NODELAY) && defined(CURL_TCP_NODELAY_SUPPORTED)
if(socket_domain_is_ip()) {
/* Disable the Nagle algorithm */
curl_socklen_t flag = 1;
@ -1545,7 +1545,7 @@ static void http_connect(curl_socket_t *infdp,
}
memset(req2, 0, sizeof(*req2));
logmsg("====> Client connect DATA");
#if defined(TCP_NODELAY) && !defined(__EMSCRIPTEN__)
#if defined(TCP_NODELAY) && defined(CURL_TCP_NODELAY_SUPPORTED)
if(socket_domain_is_ip()) {
/* Disable the Nagle algorithm */
curl_socklen_t flag = 1;
@ -1871,7 +1871,7 @@ static curl_socket_t accept_connection(curl_socket_t sock)
all_sockets[num_sockets] = msgsock;
num_sockets += 1;
#if defined(TCP_NODELAY) && !defined(__EMSCRIPTEN__)
#if defined(TCP_NODELAY) && defined(CURL_TCP_NODELAY_SUPPORTED)
if(socket_domain_is_ip()) {
/*
* Disable the Nagle algorithm to make it easier to send out a large