mirror of
https://github.com/curl/curl.git
synced 2026-05-16 12:46:22 +03:00
connect: shutdown timer fix
Fix a bug in timeout handling for connection shutdowns that led to default timeout of 2 seconds not being in effect. Only set the shutdown timeout expiry when operating on a non-admin transfers. Admin handles are only temproarily tied to a connection. Fixes #17130 Reported-by: Rasmus Melchior Jacobsen Closes #17135
This commit is contained in:
parent
24dd825ed5
commit
2a25abeaf1
1 changed files with 3 additions and 2 deletions
|
|
@ -171,11 +171,12 @@ void Curl_shutdown_start(struct Curl_easy *data, int sockindex,
|
|||
nowp = &now;
|
||||
}
|
||||
data->conn->shutdown.start[sockindex] = *nowp;
|
||||
data->conn->shutdown.timeout_ms = (timeout_ms >= 0) ?
|
||||
data->conn->shutdown.timeout_ms = (timeout_ms > 0) ?
|
||||
(unsigned int)timeout_ms :
|
||||
((data->set.shutdowntimeout > 0) ?
|
||||
data->set.shutdowntimeout : DEFAULT_SHUTDOWN_TIMEOUT_MS);
|
||||
if(data->conn->shutdown.timeout_ms)
|
||||
/* Set a timer, unless we operate on the admin handle */
|
||||
if(data->mid && data->conn->shutdown.timeout_ms)
|
||||
Curl_expire_ex(data, nowp, data->conn->shutdown.timeout_ms,
|
||||
EXPIRE_SHUTDOWN);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue