X-Git-Url: http://www.privoxy.org/gitweb/?a=blobdiff_plain;f=jcc.c;h=db38ba273793d0fea739700e91756219891f305f;hb=c36f6f46dd205c1d7d2644945ab603d089499316;hp=7ab3f3244ec3cad3287911d0ddbdd1c21eb293c6;hpb=029f27038bef2c80e99dde3359c0ad86cab29594;p=privoxy.git diff --git a/jcc.c b/jcc.c index 7ab3f324..db38ba27 100644 --- a/jcc.c +++ b/jcc.c @@ -1,4 +1,4 @@ -const char jcc_rcs[] = "$Id: jcc.c,v 1.246 2009/05/10 10:12:30 fabiankeil Exp $"; +const char jcc_rcs[] = "$Id: jcc.c,v 1.248 2009/05/10 10:25:19 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/jcc.c,v $ @@ -33,6 +33,13 @@ const char jcc_rcs[] = "$Id: jcc.c,v 1.246 2009/05/10 10:12:30 fabiankeil Exp $" * * Revisions : * $Log: jcc.c,v $ + * Revision 1.248 2009/05/10 10:25:19 fabiankeil + * Change wait_for_alive_connection() prototype to use (void). + * + * Revision 1.247 2009/05/10 10:19:23 fabiankeil + * Reenable server-side-only keep-alive support, but only share + * outgoing connections if the connection-sharing option is set. + * * Revision 1.246 2009/05/10 10:12:30 fabiankeil * Initial keep-alive support for the client socket. * Temporarily disable the server-side-only keep-alive code. @@ -2279,7 +2286,7 @@ static int server_response_is_complete(struct client_state *csp, * Returns : N/A * *********************************************************************/ -static void wait_for_alive_connections() +static void wait_for_alive_connections(void) { int connections_alive = close_unusable_connections(); @@ -2895,6 +2902,7 @@ static void chat(struct client_state *csp) } #ifdef FEATURE_CONNECTION_KEEP_ALIVE save_connection_destination(csp->sfd, http, fwd, &csp->server_connection); + csp->server_connection.keep_alive_timeout = (unsigned)csp->config->keep_alive_timeout; } #endif /* def FEATURE_CONNECTION_KEEP_ALIVE */ @@ -3532,7 +3540,7 @@ static void serve(struct client_state *csp) csp->sfd, csp->server_connection.host); if ((csp->flags & CSP_FLAG_CLIENT_CONNECTION_KEEP_ALIVE) - && data_is_available(csp->cfd, csp->config->keep_alive_timeout) + && data_is_available(csp->cfd, (int)csp->server_connection.keep_alive_timeout) && socket_is_still_usable(csp->cfd)) { log_error(LOG_LEVEL_CONNECT, "Client request arrived in " @@ -3568,7 +3576,8 @@ static void serve(struct client_state *csp) if ((csp->config->feature_flags & RUNTIME_FEATURE_CONNECTION_SHARING)) { remember_connection(csp->sfd, csp->http, - forward_url(csp, csp->http)); + forward_url(csp, csp->http), + csp->server_connection.keep_alive_timeout); csp->sfd = JB_INVALID_SOCKET; close_socket(csp->cfd); csp->cfd = JB_INVALID_SOCKET;