aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/ftp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 26cf19795..99115dda6 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -3026,10 +3026,14 @@ static CURLcode ftp_multi_statemach(struct connectdata *conn,
}
else if(rc != 0) {
result = ftp_statemach_act(conn);
- *done = (bool)(ftpc->state == FTP_STOP);
}
/* if rc == 0, then select() timed out */
+ /* Check for the state outside of the Curl_socket_ready() return code checks
+ since at times we are in fact already in this state when this function
+ gets called. */
+ *done = (bool)(ftpc->state == FTP_STOP);
+
return result;
}