X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcore%2Fplugin.c;h=bf0bdb34a20af428c73ab63250c7b0f4d3f4c00b;hb=42f08911b5ba35dbd0e3dadc0f3785f8fa3a946a;hp=e2fce04dcc75b1c7180ca23b0b43f68384df222a;hpb=93b9a7b401a9ec48239c0de6b55aa2377849c2c8;p=sysdb.git diff --git a/src/core/plugin.c b/src/core/plugin.c index e2fce04..bf0bdb3 100644 --- a/src/core/plugin.c +++ b/src/core/plugin.c @@ -251,26 +251,6 @@ plugin_unregister_by_name(const char *plugin_name) /* else: other callbacks still reference it */ } /* plugin_unregister_by_name */ -static void -plugin_unregister_all(void) -{ - size_t i; - - for (i = 0; i < SDB_STATIC_ARRAY_LEN(all_lists); ++i) { - const char *type = all_lists[i].type; - sdb_llist_t *list = *all_lists[i].list; - - size_t len = sdb_llist_len(list); - - if (! len) - continue; - - sdb_llist_clear(list); - sdb_log(SDB_LOG_INFO, "core: Unregistered %zu %s callback%s", - len, type, len == 1 ? "" : "s"); - } -} /* plugin_unregister_all */ - /* * private types */ @@ -742,7 +722,7 @@ sdb_plugin_register_config(sdb_plugin_config_cb callback) "config callback from outside a plugin"); return -1; } - return plugin_add_callback(&config_list, "init", ctx->info.plugin_name, + return plugin_add_callback(&config_list, "config", ctx->info.plugin_name, (void *)callback, NULL); } /* sdb_plugin_register_config */ @@ -889,6 +869,26 @@ sdb_plugin_register_writer(const char *name, return 0; } /* sdb_store_register_writer */ +void +sdb_plugin_unregister_all(void) +{ + size_t i; + + for (i = 0; i < SDB_STATIC_ARRAY_LEN(all_lists); ++i) { + const char *type = all_lists[i].type; + sdb_llist_t *list = *all_lists[i].list; + + size_t len = sdb_llist_len(list); + + if (! len) + continue; + + sdb_llist_clear(list); + sdb_log(SDB_LOG_INFO, "core: Unregistered %zu %s callback%s", + len, type, len == 1 ? "" : "s"); + } +} /* sdb_plugin_unregister_all */ + sdb_plugin_ctx_t sdb_plugin_get_ctx(void) { @@ -997,7 +997,7 @@ sdb_plugin_reconfigure_init(void) CTX(sdb_llist_iter_get_next(iter))->use_cnt = 0; sdb_llist_iter_destroy(iter); - plugin_unregister_all(); + sdb_plugin_unregister_all(); return 0; } /* sdb_plugin_reconfigure_init */