mirror of
https://github.com/curl/curl.git
synced 2024-12-09 06:30:06 +08:00
cf-socket: Disable socket receive buffer by default
- Disable socket receive buffer unless USE_RECV_BEFORE_SEND_WORKAROUND
is in place.
While we would like to use the receive buffer, we have stalls in
parallel transfers where not all buffered data is consumed and no socket
events happen.
Note USE_RECV_BEFORE_SEND_WORKAROUND is a Windows sockets workaround
that has been disabled by default since b4b6e4f1
, due to other bugs.
Closes https://github.com/curl/curl/pull/10961
This commit is contained in:
parent
43d7ccd03d
commit
4bc597d27c
@ -1387,11 +1387,20 @@ static void cf_socket_active(struct Curl_cfilter *cf, struct Curl_easy *data)
|
||||
conn_set_primary_ip(cf, data);
|
||||
set_local_ip(cf, data);
|
||||
Curl_persistconninfo(data, cf->conn, ctx->l_ip, ctx->l_port);
|
||||
/* We buffer only for TCP transfers that do not install their own
|
||||
* read function. Those may still have expectations about socket
|
||||
* behaviours from the past. */
|
||||
/* We buffer only for TCP transfers that do not install their own read
|
||||
* function. Those may still have expectations about socket behaviours from
|
||||
* the past.
|
||||
*
|
||||
* Note buffering is currently disabled by default because we have stalls
|
||||
* in parallel transfers where not all buffered data is consumed and no
|
||||
* socket events happen.
|
||||
*/
|
||||
#ifdef USE_RECV_BEFORE_SEND_WORKAROUND
|
||||
ctx->buffer_recv = (ctx->transport == TRNSPRT_TCP &&
|
||||
(cf->conn->recv[cf->sockindex] == Curl_conn_recv));
|
||||
#else
|
||||
ctx->buffer_recv = FALSE;
|
||||
#endif
|
||||
}
|
||||
ctx->active = TRUE;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user