diff options
Diffstat (limited to 'lib/http.c')
| -rw-r--r-- | lib/http.c | 22 | 
1 files changed, 4 insertions, 18 deletions
| diff --git a/lib/http.c b/lib/http.c index 20cd1c15f..50638f5bf 100644 --- a/lib/http.c +++ b/lib/http.c @@ -74,10 +74,6 @@  #include <sys/param.h>  #endif -#ifdef HAVE_SYS_SELECT_H -#include <sys/select.h> -#endif -  #endif  #include "urldata.h" @@ -98,6 +94,7 @@  #include "hostip.h"  #include "http.h"  #include "memory.h" +#include "select.h"  #define _MPRINTF_REPLACE /* use our functions only */  #include <curl/mprintf.h> @@ -935,9 +932,7 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,    ssize_t gotbytes;    char *ptr;    long timeout = 3600; /* default timeout in seconds */ -  struct timeval interval; -  fd_set rkeepfd; -  fd_set readfd; +  int interval_ms;    char *line_start;    char *host_port;    curl_socket_t tunnelsocket = conn->sock[sockindex]; @@ -985,13 +980,6 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,      if(result)        return result; -    FD_ZERO (&readfd);          /* clear it */ -    FD_SET (tunnelsocket, &readfd);     /* read socket */ - -    /* get this in a backup variable to be able to restore it on each lap in -       the select() loop */ -    rkeepfd = readfd; -      ptr=data->state.buffer;      line_start = ptr; @@ -1000,9 +988,7 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,      keepon=TRUE;      while((nread<BUFSIZE) && (keepon && !error)) { -      readfd = rkeepfd;     /* set every lap */ -      interval.tv_sec = 1;  /* timeout each second and check the timeout */ -      interval.tv_usec = 0; +      interval_ms = 1;  /* timeout each second and check the timeout */        if(data->set.timeout) {          /* if timeout is requested, find out how much remaining time we have */ @@ -1015,7 +1001,7 @@ CURLcode Curl_ConnectHTTPProxyTunnel(struct connectdata *conn,          }        } -      switch (select (tunnelsocket+1, &readfd, NULL, NULL, &interval)) { +      switch (Curl_select(tunnelsocket, CURL_SOCKET_BAD, interval_ms)) {        case -1: /* select() error, stop reading */          error = SELECT_ERROR;          failf(data, "Proxy CONNECT aborted due to select() error"); | 
