X-Git-Url: http://www.privoxy.org/gitweb/?p=privoxy.git;a=blobdiff_plain;f=jcc.c;h=310fb1ee3ba8a495824b7f8f3ef9a37906c7f85a;hp=ab4956f082822c43424fc26819f56b23bc415c12;hb=5c2e47de8805a1a489db8215a62859fd6b7e7d55;hpb=e52674334610f4c2a1eb22b095c126527705f314 diff --git a/jcc.c b/jcc.c index ab4956f0..310fb1ee 100644 --- a/jcc.c +++ b/jcc.c @@ -6183,11 +6183,6 @@ static void listen_loop(void) /* NOTREACHED unless FEATURE_GRACEFUL_TERMINATION is defined */ -#ifdef FEATURE_HTTPS_INSPECTION - /* Clean up. Aim: free all memory (no leaks) */ - ssl_release(); -#endif - #ifdef FEATURE_GRACEFUL_TERMINATION log_error(LOG_LEVEL_INFO, "Graceful termination requested."); @@ -6220,6 +6215,17 @@ static void listen_loop(void) freez(basedir); #endif +#ifdef FEATURE_HTTPS_INSPECTION + /* + * Only release TLS backed resources if there + * are no active connections left. + */ + if (clients->next == NULL) + { + ssl_release(); + } +#endif + log_error(LOG_LEVEL_INFO, "Exiting gracefully."); #if defined(_WIN32) && !defined(_WIN_CONSOLE)