fix SFTP download hang

Matt Wixson found and fixed a bug in the SCP/SFTP area where the
code treated a 0 return code from libssh2 to be the same as
EAGAIN while in reality it isn't. The problem caused a hang in
SFTP transfers from a MessageWay server.
This commit is contained in:
Daniel Stenberg 2010-04-01 22:39:15 +02:00
parent e78e584035
commit 49f3160d69
3 changed files with 9 additions and 2 deletions

View file

@ -549,7 +549,7 @@ int Curl_read(struct connectdata *conn, /* connection data */
else if(conn->protocol & PROT_SFTP)
nread = Curl_sftp_recv(conn, num, buffertofill, bytesfromsocket);
#ifdef LIBSSH2CHANNEL_EAGAIN
if((nread == LIBSSH2CHANNEL_EAGAIN) || (nread == 0))
if(nread == LIBSSH2CHANNEL_EAGAIN)
/* EWOULDBLOCK */
return -1;
#endif