Skip to content

Commit

Permalink
sws: timeout idle CONNECT connections
Browse files Browse the repository at this point in the history
  • Loading branch information
bagder committed Feb 25, 2015
1 parent 4aa9bb6 commit becff7d
Showing 1 changed file with 11 additions and 3 deletions.
14 changes: 11 additions & 3 deletions tests/server/sws.c
Expand Up @@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2014, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2015, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
Expand Down Expand Up @@ -1427,6 +1427,7 @@ static void http_connect(curl_socket_t *infdp,
int max_tunnel_idx; /* CTRL or DATA */
int loop;
int i;
int timeout_count=0;

/* primary tunnel client endpoint already connected */
clientfd[CTRL] = *infdp;
Expand Down Expand Up @@ -1455,7 +1456,7 @@ static void http_connect(curl_socket_t *infdp,

fd_set input;
fd_set output;
struct timeval timeout = {0, 250000L}; /* 250 ms */
struct timeval timeout = {1, 0}; /* 1000 ms */
ssize_t rc;
curl_socket_t maxfd = (curl_socket_t)-1;

Expand Down Expand Up @@ -1516,6 +1517,7 @@ static void http_connect(curl_socket_t *infdp,
if(rc > 0) {
/* socket action */
bool tcp_fin_wr;
timeout_count=0;

if(got_exit_signal)
break;
Expand Down Expand Up @@ -1757,7 +1759,13 @@ static void http_connect(curl_socket_t *infdp,
break;

} /* (rc > 0) */

else {
timeout_count++;
if(timeout_count > 5) {
logmsg("CONNECT proxy timeout after %d idle seconds!", timeout_count);
break;
}
}
}

http_connect_cleanup:
Expand Down

0 comments on commit becff7d

Please sign in to comment.