diff options
-rw-r--r-- | TODO | 2 | ||||
-rw-r--r-- | include/extern.h | 2 | ||||
-rw-r--r-- | src/main.c | 8 | ||||
-rw-r--r-- | src/modules.c | 11 |
4 files changed, 7 insertions, 16 deletions
@@ -5,7 +5,7 @@ Legend: 1.9.1 ----- -[ ] Remove modules_unload_all fini + hack that goes with it +[x] Remove modules_unload_all fini + hack that goes with it [x] signal handling cleanup [ ] Move a (lot) of stuff to class members as a defined interface rather than copypasta everywhere (ns_set, ns_saset!) [ ] burn do_sjoin with fire diff --git a/include/extern.h b/include/extern.h index 9904c9edd..fed728bbd 100644 --- a/include/extern.h +++ b/include/extern.h @@ -668,7 +668,7 @@ E int str_is_cidr(char *str, uint32 * ip, uint32 * mask, char **host); /**** modules.c ****/ -E void modules_unload_all(bool fini, bool unload_proto); /* Read warnings near function source */ +E void modules_unload_all(bool unload_proto); /* Read warnings near function source */ E void ModuleDatabaseBackup(const char *dbname); E void ModuleRemoveBackups(const char *dbname); diff --git a/src/main.c b/src/main.c index 35b1361bc..64b737e8b 100644 --- a/src/main.c +++ b/src/main.c @@ -167,8 +167,8 @@ static void services_restart() disconn(servsock); close_log(); /* First don't unload protocol module, then do so */ - modules_unload_all(true, false); - modules_unload_all(true, true); + modules_unload_all(false); + modules_unload_all(true); chdir(binary_dir.c_str()); execve(SERVICES_BIN, my_av, my_envp); if (!readonly) { @@ -223,8 +223,8 @@ static void services_shutdown() send_event(EVENT_SHUTDOWN, 1, EVENT_STOP); disconn(servsock); /* First don't unload protocol module, then do so */ - modules_unload_all(true, false); - modules_unload_all(true, true); + modules_unload_all(false); + modules_unload_all(true); /* just in case they weren't all removed at least run once */ ModuleRunTimeDirCleanUp(); } diff --git a/src/modules.c b/src/modules.c index da7d6a9ed..c2d20edaf 100644 --- a/src/modules.c +++ b/src/modules.c @@ -112,20 +112,11 @@ int protocol_module_init() * And if that isn't enough discouragement, you'll wake up with your * both legs broken tomorrow ;) -GD */ -void modules_unload_all(bool fini, bool unload_proto) +void modules_unload_all(bool unload_proto) { int idx; ModuleHash *mh, *next; - if (!fini) - { - /* - * XXX: This was used to stop modules from executing destructors, we don't really - * support this now, so just return.. dirty. We need to rewrite the code that uses this param. - */ - return; - } - for (idx = 0; idx < MAX_CMD_HASH; idx++) { mh = MODULE_HASH[idx]; while (mh) { |