static void process_signal(int sig);
static void shutdown_did_not_work_callback(evutil_socket_t fd, short event,
void *arg) ATTR_NORETURN;
+static void rescan_periodic_events(const or_options_t *options);
/********* START VARIABLES **********/
(void) events;
(void) data;
- int roles = get_my_roles(get_options());
-
tor_event_free(initialize_periodic_events_event);
- for (int i = 0; periodic_events[i].name; ++i) {
- periodic_event_item_t *item = &periodic_events[i];
- if (item->roles & roles) {
- /* This is safe to be called on an already enabled event. */
- periodic_event_enable(item);
- log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
- }
- }
+ rescan_periodic_events(get_options());
}
/** Set up all the members of periodic_events[], and configure them all to be
/* Enable the event if needed. It is safe to enable an event that was
* already enabled. Same goes for disabling it. */
if (item->roles & roles) {
+ log_debug(LD_GENERAL, "Launching periodic event %s", item->name);
periodic_event_enable(item);
} else {
+ log_debug(LD_GENERAL, "Disabling periodic event %s", item->name);
periodic_event_disable(item);
}
}