if (changed.count("mon_health_to_clog") ||
changed.count("mon_health_to_clog_interval") ||
changed.count("mon_health_to_clog_tick_interval")) {
- health_to_clog_update_conf(changed);
+ std::set<std::string> c2(changed);
+ finisher.queue(new C_MonContext(this, [this, c2](int) {
+ Mutex::Locker l(lock);
+ health_to_clog_update_conf(c2);
+ }));
}
if (changed.count("mon_scrub_interval")) {
- scrub_update_interval(conf->mon_scrub_interval);
+ int scrub_interval = conf->mon_scrub_interval;
+ finisher.queue(new C_MonContext(this, [this, scrub_interval](int) {
+ Mutex::Locker l(lock);
+ scrub_update_interval(scrub_interval);
+ }));
}
}