LogoopenSUSE Build Service > Projects
Sign Up | Log In

View File curl-bsc991746.patch of Package curl (Project home:mge1512:aide-static)

ftp: fix wrong poll on the secondary socket

When we're uploading using FTP and the server issues a tiny pause
between opening the connection to the client's secondary socket, the
client's initial poll() times out, which leads to second poll() which
does not wait for POLLIN on the secondary socket. So that poll() also
has to time out, creating a long (200ms) pause.

This patch adds the correct flag to the secondary socket, making the
second poll() correctly wait for the connection there too.

Signed-off-by: Ales Novak <alnovak@suse.cz>
---

 lib/ftp.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Index: curl-7.37.0/lib/ftp.c
===================================================================
--- curl-7.37.0.orig/lib/ftp.c
+++ curl-7.37.0/lib/ftp.c
@@ -897,7 +897,7 @@ static int ftp_domore_getsock(struct con
     }
     else {
       socks[1] = conn->sock[SECONDARYSOCKET];
-      bits |= GETSOCK_WRITESOCK(1);
+      bits |= GETSOCK_WRITESOCK(1) | GETSOCK_READSOCK(1);
     }
 
     return bits;