mirror of
https://github.com/curl/curl.git
synced 2026-06-09 15:14:17 +03:00
pause only recv and check only for that, also when running
This commit is contained in:
parent
8282c4f7c8
commit
4c2fde0ad8
2 changed files with 17 additions and 16 deletions
32
lib/multi.c
32
lib/multi.c
|
|
@ -2438,22 +2438,24 @@ static CURLMcode multi_runsingle(struct Curl_multi *multi,
|
|||
case MSTATE_CONNECTING:
|
||||
/* awaiting a completion of an asynch TCP connect */
|
||||
DEBUGASSERT(data->conn);
|
||||
result = Curl_conn_connect(data, FIRSTSOCKET, FALSE, &connected);
|
||||
if(connected && !result) {
|
||||
if(!data->conn->bits.reuse &&
|
||||
Curl_conn_is_multiplex(data->conn, FIRSTSOCKET)) {
|
||||
/* new connection, can multiplex, wake pending handles */
|
||||
process_pending_handles(data->multi);
|
||||
if(!Curl_xfer_recv_is_paused(data)) {
|
||||
result = Curl_conn_connect(data, FIRSTSOCKET, FALSE, &connected);
|
||||
if(connected && !result) {
|
||||
if(!data->conn->bits.reuse &&
|
||||
Curl_conn_is_multiplex(data->conn, FIRSTSOCKET)) {
|
||||
/* new connection, can multiplex, wake pending handles */
|
||||
process_pending_handles(data->multi);
|
||||
}
|
||||
rc = CURLM_CALL_MULTI_PERFORM;
|
||||
multistate(data, MSTATE_PROTOCONNECT);
|
||||
}
|
||||
else if(result) {
|
||||
/* failure detected */
|
||||
multi_posttransfer(data);
|
||||
multi_done(data, result, TRUE);
|
||||
stream_error = TRUE;
|
||||
break;
|
||||
}
|
||||
rc = CURLM_CALL_MULTI_PERFORM;
|
||||
multistate(data, MSTATE_PROTOCONNECT);
|
||||
}
|
||||
else if(result) {
|
||||
/* failure detected */
|
||||
multi_posttransfer(data);
|
||||
multi_done(data, result, TRUE);
|
||||
stream_error = TRUE;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
|
|||
|
|
@ -4603,7 +4603,6 @@ static CURLcode ossl_connect_step2(struct Curl_cfilter *cf,
|
|||
#ifdef SSL_ERROR_WANT_RETRY_VERIFY
|
||||
if(SSL_ERROR_WANT_RETRY_VERIFY == detail) {
|
||||
CURL_TRC_CF(data, cf, "SSL_connect() -> want retry_verify");
|
||||
Curl_xfer_pause_send(data, TRUE);
|
||||
Curl_xfer_pause_recv(data, TRUE);
|
||||
return CURLE_AGAIN;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue