X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=loadcfg.c;h=efb6c7d2e54eec668558aaefd259bce34f14775e;hp=5ca36770723ffc266dceff3e01be743281bf17fc;hb=03a212cd9ff953a50904e7a970748b5661840426;hpb=8ff034900c85046aede43e061bf3cfb77f562be3 diff --git a/loadcfg.c b/loadcfg.c index 5ca36770..efb6c7d2 100644 --- a/loadcfg.c +++ b/loadcfg.c @@ -1,4 +1,4 @@ -const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.83 2008/12/20 14:53:55 fabiankeil Exp $"; +const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.84 2009/01/14 16:14:36 fabiankeil Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loadcfg.c,v $ @@ -35,6 +35,11 @@ const char loadcfg_rcs[] = "$Id: loadcfg.c,v 1.83 2008/12/20 14:53:55 fabiankeil * * Revisions : * $Log: loadcfg.c,v $ + * Revision 1.84 2009/01/14 16:14:36 fabiankeil + * Due to the standard.action file removal, the other action + * files changed their position in config->actions_file[]. + * Update mingw32 kludge accordingly. + * * Revision 1.83 2008/12/20 14:53:55 fabiankeil * Add config option socket-timeout to control the time * Privoxy waits for data to arrive on a socket. Useful @@ -1720,9 +1725,6 @@ struct configuration_spec * load_config(void) fclose(configfp); set_debug_level(config->debug); -#ifdef FEATURE_CONNECTION_KEEP_ALIVE - set_keep_alive_timeout(keep_alive_timeout); -#endif freez(config->logfile); @@ -1739,6 +1741,28 @@ struct configuration_spec * load_config(void) } } +#ifdef FEATURE_CONNECTION_KEEP_ALIVE + if (config->feature_flags & RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE) + { + if (config->multi_threaded) + { + set_keep_alive_timeout(keep_alive_timeout); + } + else + { + /* + * While we could use keep-alive without multiple threads + * if we didn't bother with enforcing the connection timeout, + * that might make Tor users sad, even though they shouldn't + * enable the single-threaded option anyway. + */ + config->feature_flags &= ~RUNTIME_FEATURE_CONNECTION_KEEP_ALIVE; + log_error(LOG_LEVEL_ERROR, + "Config option single-threaded disables connection keep-alive."); + } + } +#endif + if (NULL == config->proxy_args) { log_error(LOG_LEVEL_FATAL, "Out of memory loading config - insufficient memory for config->proxy_args");