diff --git a/src/core/plugin.c b/src/core/plugin.c
index 67f9dfea05259610299d5838623b863f820fc87f..76fc2092d022ff8588a2b5f11739e8653fa5c1c4 100644 (file)
--- a/src/core/plugin.c
+++ b/src/core/plugin.c
if ((status = module_init(name, lh, &ctx->info))) {
sdb_object_deref(SDB_OBJ(ctx));
+ ctx_set(NULL);
return status;
}
ctx_t *old_ctx = ctx_set(ctx);
status = module_init(ctx->info.plugin_name, ctx->handle, NULL);
+ ctx_set(old_ctx);
if (status)
return status;
sdb_log(SDB_LOG_INFO, "core: Successfully reloaded plugin "
"'%s' (%s)", ctx->info.plugin_name,
INFO_GET(&ctx->info, description));
- ctx_set(old_ctx);
}
++ctx->use_cnt;
return 0;
c = ctx_get();
if (! c) {
- sdb_plugin_log(SDB_LOG_ERR, "core: Invalid read access to plugin "
+ sdb_log(SDB_LOG_ERR, "core: Invalid read access to plugin "
"context outside a plugin");
return plugin_default_ctx;
}
c = ctx_get();
if (! c) {
- sdb_plugin_log(SDB_LOG_ERR, "core: Invalid write access to plugin "
+ sdb_log(SDB_LOG_ERR, "core: Invalid write access to plugin "
"context outside a plugin");
return -1;
}