diff --git a/include/ircd.h b/include/ircd.h index d268efe6..f61afeef 100644 --- a/include/ircd.h +++ b/include/ircd.h @@ -65,9 +65,9 @@ extern const unsigned long int datecode; extern const char *ircd_version; extern const char *logFileName; extern const char *pidFileName; -extern bool dorehash; -extern bool dorehashbans; -extern bool doremotd; +extern volatile sig_atomic_t dorehash; +extern volatile sig_atomic_t dorehashbans; +extern volatile sig_atomic_t doremotd; extern bool kline_queued; extern bool server_state_foreground; extern bool opers_see_all_users; /* sno_farconnect.so loaded, operspy without diff --git a/ircd/ircd.c b/ircd/ircd.c index 8a16ffa4..0a89121f 100644 --- a/ircd/ircd.c +++ b/ircd/ircd.c @@ -95,9 +95,9 @@ rb_dlink_list local_oper_list; /* our opers, duplicated in lclient_list */ rb_dlink_list oper_list; /* network opers */ char **myargv; -bool dorehash = false; -bool dorehashbans = false; -bool doremotd = false; +volatile sig_atomic_t dorehash = false; +volatile sig_atomic_t dorehashbans = false; +volatile sig_atomic_t doremotd = false; bool kline_queued = false; bool server_state_foreground = false; bool opers_see_all_users = false;