From: Antoine Naud Date: Wed, 21 Mar 2018 08:51:42 +0000 (+0000) Subject: src/virt.c: Decouple persistent notifications from refreshInterval X-Git-Url: https://git.octo.it/?p=collectd.git;a=commitdiff_plain;h=cf86f1d597d0f3b6646241dc784ec6b89edd6bff;ds=sidebyside src/virt.c: Decouple persistent notifications from refreshInterval When persistentNotification is true, if refreshInterval value is larger than (read) Interval, the notifications are not issued every read interval as should be. The fix consist in decoupling persistent notifications from refreshInterval. Change-Id: I157554a360510c21ffa631430446afd57b99dfab Signed-off-by: Antoine Naud --- diff --git a/src/virt.c b/src/virt.c index 28991779..e01efd33 100644 --- a/src/virt.c +++ b/src/virt.c @@ -1990,13 +1990,6 @@ static int lv_read(user_data_t *ud) { /* Need to refresh domain or device lists? */ if ((last_refresh == (time_t)0) || ((interval > 0) && ((last_refresh + interval) <= t))) { - if (inst->id == 0 && persistent_notification) { - int status = persistent_domains_state_notification(); - if (status != 0) - DEBUG(PLUGIN_NAME " plugin: persistent_domains_state_notifications " - "returned with status %i", - status); - } if (refresh_lists(inst) != 0) { if (inst->id == 0) { if (!persistent_notification) @@ -2008,6 +2001,15 @@ static int lv_read(user_data_t *ud) { last_refresh = t; } + /* persistent domains state notifications are handled by instance 0 */ + if (inst->id == 0 && persistent_notification) { + int status = persistent_domains_state_notification(); + if (status != 0) + DEBUG(PLUGIN_NAME " plugin: persistent_domains_state_notifications " + "returned with status %i", + status); + } + #if COLLECT_DEBUG for (int i = 0; i < state->nr_domains; ++i) DEBUG(PLUGIN_NAME " plugin: domain %s",