1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-21 23:58:49 -05:00

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
This commit is contained in:
Ales Novak 2016-08-23 14:13:18 +02:00 committed by Daniel Stenberg
parent 15592143f3
commit 7ad50a61f2

View File

@ -911,7 +911,7 @@ static int ftp_domore_getsock(struct connectdata *conn, curl_socket_t *socks,
} }
else { else {
socks[1] = conn->sock[SECONDARYSOCKET]; socks[1] = conn->sock[SECONDARYSOCKET];
bits |= GETSOCK_WRITESOCK(1); bits |= GETSOCK_WRITESOCK(1) | GETSOCK_READSOCK(1);
} }
return bits; return bits;