aboutsummaryrefslogtreecommitdiff
path: root/lib/ftp.c
diff options
context:
space:
mode:
authorAles Novak <alnovak@suse.cz>2016-08-23 14:13:18 +0200
committerDaniel Stenberg <daniel@haxx.se>2016-08-23 15:31:07 +0200
commit7ad50a61f28f773ad2d2f03031423da81bfb69fe (patch)
treee6ec39b327b038162c9267252b438be7d07d533e /lib/ftp.c
parent15592143f3bf9ca05293ea849767ea4704a18e4d (diff)
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> Closes #978
Diffstat (limited to 'lib/ftp.c')
-rw-r--r--lib/ftp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/ftp.c b/lib/ftp.c
index 8af653158..5aa9605d0 100644
--- a/lib/ftp.c
+++ b/lib/ftp.c
@@ -911,7 +911,7 @@ static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks,
}
else {
socks[1] = conn->sock[SECONDARYSOCKET];
- bits |= GETSOCK_WRITESOCK(1);
+ bits |= GETSOCK_WRITESOCK(1) | GETSOCK_READSOCK(1);
}
return bits;