diff options
author | Daniel Stenberg <daniel@haxx.se> | 2018-12-14 09:21:47 +0100 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2018-12-17 12:33:00 +0100 |
commit | 154a17b6ee5097642e2330fb14ba52e317b95430 (patch) | |
tree | 51aa928bc4a5cecee4cde482e54ad89c5c080baf /lib/ftp.c | |
parent | 9e6518481cd4e2603b4f9e04d6cfd1a214a72726 (diff) | |
download | curl-154a17b6ee5097642e2330fb14ba52e317b95430.tar.gz |
pingpong: ignore regular timeout in disconnect phase
The timeout set with CURLOPT_TIMEOUT is no longer used when
disconnecting from one of the pingpong protocols (FTP, IMAP, SMTP,
POP3).
Reported-by: jasal82 on github
Fixes #3264
Closes #3374
Diffstat (limited to 'lib/ftp.c')
-rw-r--r-- | lib/ftp.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -655,7 +655,7 @@ CURLcode Curl_GetFTPResponse(ssize_t *nreadp, /* return number of bytes read */ while(!*ftpcode && !result) { /* check and reset timeout value every lap */ - time_t timeout = Curl_pp_state_timeout(pp); /* timeout in milliseconds */ + time_t timeout = Curl_pp_state_timeout(pp, FALSE); time_t interval_ms; if(timeout <= 0) { @@ -3054,7 +3054,7 @@ static CURLcode ftp_multi_statemach(struct connectdata *conn, bool *done) { struct ftp_conn *ftpc = &conn->proto.ftpc; - CURLcode result = Curl_pp_statemach(&ftpc->pp, FALSE); + CURLcode result = Curl_pp_statemach(&ftpc->pp, FALSE, FALSE); /* Check for the state outside of the Curl_socket_check() return code checks since at times we are in fact already in this state when this function @@ -3071,7 +3071,7 @@ static CURLcode ftp_block_statemach(struct connectdata *conn) CURLcode result = CURLE_OK; while(ftpc->state != FTP_STOP) { - result = Curl_pp_statemach(pp, TRUE); + result = Curl_pp_statemach(pp, TRUE, TRUE /* disconnecting */); if(result) break; } |