aboutsummaryrefslogtreecommitdiff
path: root/lib/transfer.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/transfer.c')
-rw-r--r--lib/transfer.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/transfer.c b/lib/transfer.c
index ee7c37216..8ac91664c 100644
--- a/lib/transfer.c
+++ b/lib/transfer.c
@@ -1046,6 +1046,11 @@ CURLcode Curl_readwrite(struct connectdata *conn,
else
fd_write = CURL_SOCKET_BAD;
+ if(conn->data->state.drain) {
+ select_res |= CURL_CSELECT_IN;
+ DEBUGF(infof(data, "%s: forcibly told to drain data\n", __func__));
+ }
+
if(!select_res) /* Call for select()/poll() only, if read/write/error
status is not known. */
select_res = Curl_socket_ready(fd_read, fd_write, 0);
@@ -1055,6 +1060,9 @@ CURLcode Curl_readwrite(struct connectdata *conn,
return CURLE_SEND_ERROR;
}
+ DEBUGF(infof(data, "%s: keepon: %x select_res %x\n", __func__, k->keepon,
+ select_res));
+
/* We go ahead and do a read if we have a readable socket or if
the stream was rewound (in which case we have data in a
buffer) */