src/configfile.c: Set a plugin context when autoloading plugins.
authorFlorian Forster <octo@collectd.org>
Wed, 10 Jun 2015 06:55:02 +0000 (07:55 +0100)
committerFlorian Forster <octo@collectd.org>
Wed, 10 Jun 2015 07:00:14 +0000 (08:00 +0100)
Fixes: #1069

src/configfile.c

index ec39b76..d61bc88 100644 (file)
@@ -384,9 +384,19 @@ static int dispatch_block_plugin (oconfig_item_t *ci)
 
        if (IS_TRUE (global_option_get ("AutoLoadPlugin")))
        {
+               plugin_ctx_t ctx;
+               plugin_ctx_t old_ctx;
                int status;
 
+               /* default to the global interval set before loading this plugin */
+               memset (&ctx, 0, sizeof (ctx));
+               ctx.interval = cf_get_default_interval ();
+
+               old_ctx = plugin_set_ctx (ctx);
                status = plugin_load (name, /* flags = */ 0);
+               /* reset to the "global" context */
+               plugin_set_ctx (old_ctx);
+
                if (status != 0)
                {
                        ERROR ("Automatically loading plugin \"%s\" failed "