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 <antoinex.naud@intel.com>
/* Need to refresh domain or device lists? */
if ((last_refresh == (time_t)0) ||
((interval > 0) && ((last_refresh + interval) <= t))) {
/* 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)
if (refresh_lists(inst) != 0) {
if (inst->id == 0) {
if (!persistent_notification)
+ /* 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",
#if COLLECT_DEBUG
for (int i = 0; i < state->nr_domains; ++i)
DEBUG(PLUGIN_NAME " plugin: domain %s",