aboutsummaryrefslogtreecommitdiff
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
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
-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;