On Fri, 2006-03-10 at 09:04 -0500, John Morrissey wrote:
On Thu, Mar 09, 2006 at 06:56:47PM -0800, stucky wrote:
I will try 1.9.9 again when I have more time. I tried it once and it literally killed me with stats although I had stats(0) set. It was insane so I turned it off again.
I noticed the same behavior when upgrading from 1.6.x to 1.9.x and filed a Debian bug report:
I would prefer bugreports posted to this list, for instance I did not know about this one until now. I've just committed this fix which also fixes a minor issue that syslog-ng did not care about the changed value of stats_freq on SIGHUP (tomorrow's snapshot should include this patch) --- orig/src/main.c +++ mod/src/main.c @@ -140,12 +140,14 @@ main_loop_run(GlobalConfig *cfg) { GMainLoop *main_loop; gint iters; + guint stats_timer_id = 0; msg_notice("syslog-ng starting up", evt_tag_str("version", VERSION), NULL); main_loop = g_main_loop_new(NULL, TRUE); - g_timeout_add(cfg->stats_freq * 1000, stats_timer, NULL); + if (cfg->stats_freq > 0) + stats_timer_id = g_timeout_add(cfg->stats_freq * 1000, stats_timer, NULL); while (g_main_loop_is_running(main_loop)) { if (cfg->time_sleep > 0) @@ -163,6 +165,12 @@ main_loop_run(GlobalConfig *cfg) msg_notice("SIGHUP received, reloading configuration", NULL); cfg = cfg_reload_config(cfgfilename, cfg); sig_hup_received = FALSE; + if (cfg->stats_freq > 0) + { + if (stats_timer_id != 0) + g_source_remove(stats_timer_id); + stats_timer_id = g_timeout_add(cfg->stats_freq * 1000, stats_timer, NULL); + } } if (sig_term_received) { -- Bazsi