Curl_single_getsock: fix hold/pause sock handling

The previous condition that checked if the socket was marked as readable
when also adding a writable one, was incorrect and didn't take the pause
bits properly into account.
This commit is contained in:
Carlo Wood 2014-11-02 14:09:00 +01:00 committed by Daniel Stenberg
parent 5565d0ab07
commit 15c4d51d39
1 changed files with 3 additions and 3 deletions

View File

@ -1214,10 +1214,10 @@ int Curl_single_getsock(const struct connectdata *conn,
if((data->req.keepon & KEEP_SENDBITS) == KEEP_SEND) {
if((conn->sockfd != conn->writesockfd) ||
!(data->req.keepon & KEEP_RECV)) {
/* only if they are not the same socket or we didn't have a readable
bitmap == GETSOCK_BLANK) {
/* only if they are not the same socket and we have a readable
one, we increase index */
if(data->req.keepon & KEEP_RECV)
if(bitmap != GETSOCK_BLANK)
sockindex++; /* increase index if we need two entries */
DEBUGASSERT(conn->writesockfd != CURL_SOCKET_BAD);