rrdtool plugin: Make sure the initialization is run only once.
[collectd.git] / src / rrdtool.c
index b80e110..a205ef2 100644 (file)
@@ -282,6 +282,9 @@ static void *rrd_queue_thread (void __attribute__((unused)) *data)
                int    status;
                int    i;
 
+               values = NULL;
+               values_num = 0;
+
                 pthread_mutex_lock (&queue_lock);
                 /* Wait for values to arrive */
                 while (true)
@@ -1004,8 +1007,13 @@ static int rrd_shutdown (void)
 
 static int rrd_init (void)
 {
+       static int init_once = 0;
        int status;
 
+       if (init_once != 0)
+               return (0);
+       init_once = 1;
+
        if (rrdcreate_config.stepsize < 0)
                rrdcreate_config.stepsize = 0;
        if (rrdcreate_config.heartbeat <= 0)