1
0
mirror of https://github.com/moparisthebest/curl synced 2024-12-22 08:08:50 -05:00

made the intended one hour default timeout in the CONNECT loop actually work

This commit is contained in:
Daniel Stenberg 2004-12-02 23:30:13 +00:00
parent 8726a6b6ed
commit 6ac9e67bd7

View File

@ -1024,14 +1024,13 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
struct Curl_transfer_keeper *k = &conn->keep; struct Curl_transfer_keeper *k = &conn->keep;
CURLcode result; CURLcode result;
int res; int res;
size_t nread; /* total size read */ size_t nread; /* total size read */
int perline; /* count bytes per line */ int perline; /* count bytes per line */
bool keepon=TRUE; bool keepon=TRUE;
ssize_t gotbytes; ssize_t gotbytes;
char *ptr; char *ptr;
long timeout = 3600; /* default timeout in seconds */ long timeout =
data->set.timeout?data->set.timeout:3600; /* in seconds */
char *line_start; char *line_start;
char *host_port; char *host_port;
curl_socket_t tunnelsocket = conn->sock[sockindex]; curl_socket_t tunnelsocket = conn->sock[sockindex];
@ -1088,16 +1087,14 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,
while((nread<BUFSIZE) && (keepon && !error)) { while((nread<BUFSIZE) && (keepon && !error)) {
if(data->set.timeout) {
/* if timeout is requested, find out how much remaining time we have */ /* if timeout is requested, find out how much remaining time we have */
timeout = data->set.timeout - /* timeout time */ long check = timeout - /* timeout time */
Curl_tvdiff(Curl_tvnow(), conn->now)/1000; /* spent time */ Curl_tvdiff(Curl_tvnow(), conn->now)/1000; /* spent time */
if(timeout <=0 ) { if(check <=0 ) {
failf(data, "Proxy connection aborted due to timeout"); failf(data, "Proxy CONNECT aborted due to timeout");
error = SELECT_TIMEOUT; /* already too little time */ error = SELECT_TIMEOUT; /* already too little time */
break; break;
} }
}
/* timeout each second and check the timeout */ /* timeout each second and check the timeout */
switch (Curl_select(tunnelsocket, CURL_SOCKET_BAD, 1000)) { switch (Curl_select(tunnelsocket, CURL_SOCKET_BAD, 1000)) {