diff options
author | Daniel Stenberg <daniel@haxx.se> | 2009-08-31 20:49:30 +0000 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2009-08-31 20:49:30 +0000 |
commit | 4e9d3c26ed74ec7a00cfc32170dc7289589586e8 (patch) | |
tree | f29baf4a63a01c34319c4eec719098e1f3e3ce49 /lib | |
parent | f3bd0c3fc3a69843f5f67f61c6a75fc705fe5078 (diff) |
- When using the multi interface with FTP and you asked for NOBODY, you did no
QUOTE commands and the request used the same path as the connection had
already changed to, it would decide that no commands would be necessary for
the "DO" action and that was not handled properly but libcurl would instead
hang.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/ftp.c | 6 |
1 files changed, 5 insertions, 1 deletions
@@ -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; } |