Code

Merge branch 'collectd-5.4' into collectd-5.5
authorRuben Kerkhof <ruben@rubenkerkhof.com>
Tue, 26 Jul 2016 10:50:07 +0000 (12:50 +0200)
committerRuben Kerkhof <ruben@rubenkerkhof.com>
Tue, 26 Jul 2016 10:50:07 +0000 (12:50 +0200)
Conflicts:
ChangeLog
contrib/redhat/collectd.spec
version-gen.sh

ChangeLog
src/daemon/meta_data.c
src/network.c

index 0a823b07ac6140f953f2d01c896660237758e9c9..25257d76ecf5b8c24bbd644b02266f66e1284695 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
        * Perl plugin: Init callbacks have been changed to run essentially
          single-threaded to avoid race conditions by init functions which
          create additional threads. Thanks to Pavel Rochnyack. #1706
-       * Processes plugin: A compilation error on systems without "regex.h" has
-         been fixed. Thanks to Corey Kosak.
-       * Processes plugin: A memory leak on Solaris has been fixed. Thanks to
-         Jim Quinn.
        * Processes plugin: A warning about too long process names has been
          added. Thanks to Marc Fournier. #1284
        * Redis plugin: A memory leak in an error handling code path has been
          Marc Fournier and Wilfried Goesgens. #552
        * Zookeeper plugin: This new plugin reads data from the Apache Zookeeper
          "MNTR" command. Thanks to Jeremy Katz. #826
+=======
+       * Processes plugin and Swap plugin: These plugins have been corrected to
+         also work inside FreeBSD jails. Thanks to biancalana. #1019
+       * Processes plugin: A warning about too long process names has been
+         added. Thanks to Marc Fournier. #1284
+       * Processes plugin: Process counting on the FreeBSD and OpenBSD
+         platforms has been fixed. Thanks to Herve COMMOWICK. #1298
+       * Processes plugin: The plugin was fixed to work properly on Solaris.
+         Thanks to Jan Andres. #919
+       * Python plugin: A double-free bug got fixed. Thanks to Sven Trenkel.
+         #1285
+       * RRDtool plugin: A race condition leading to corrupt RRD file creation
+         has been fixed. Thanks to Manuel Luis Sanmartín Rozada. #1031
+       * SNMP plugin: The "Gauge32" signedness was corrected to match RFC1902.
+         Thanks to Nathan Ward. #1325
+       * StatsD plugin: A deadlock on plugin shutdown has been fixed. Thanks to
+         Pavel Rochnyack #1703
+       * StatsD plugin: A memory leak was corrected. Thanks to Florian Forster.
+         #997
+       * StatsD plugin: A symbol lookup error was fixed by properly linking the
+         plugin against libm. Thanks to Florian Forster.
+       * StatsD plugin: "utils_latency": Support for including values above
+         1000 in percentile calculation has been added. Thanks to Yoga
+         Ramalingam. #401
+       * StatsD plugin: "utils_latency": Two division by zero error conditions
+         have been corrected. Thanks to Wilfried Goesgens. #655
+       * StatsD plugin: Counters absolute counts are now also reported. Thanks
+         to Pierre-Yves Ritschard. #1311
+       * StatsD plugin: The plugin now emits NaN values when no timer event is
+         recorded. Thanks to Florian Forster. #1038, #1039
+       * StatsD plugin: The plugin was corrected to avoid crashing when
+         negative timer values are submitted. Thanks to Florian Forster. #1131
+       * Tail CSV plugin: The plugin was fixed to work properly with multiple
+         "Collect" options and a bug got fixed when no "TimeFrom" is specified.
+         Thanks to Manuel Luis Sanmartín Rozada and Florian Forster. #1032
+       * TCPConns plugin: A memory leak was fixed. Thanks to Florian Forster.
+         #1074
+       * TCPConns plugin: An bug causing collectd to enter an inifinite loop on
+         OpenBSD was fixed. Thanks to Landry Breuil. #1094
+       * Threshold plugin: Threshold configuration blocks can now be defined in
+         different files. Thanks to Michael Salmon. #551
+       * vmem plugin: Support for pgsteal in recent Linux kernels has been
+         added. Thanks to Jakub Jankowski. #1307
+       * vmem plugin: The DSType for nr_dirtied and nr_written was corrected to
+         report a derive. Thanks to Marek Becka. #1072
+       * Write Graphite plugin: Error handling when submitting metrics to the
+         server is now more robust. Thanks to Sam Pointer. #1364
+       * Write HTTP plugin: Freeing of memory holding HTTP headers during
+         shutdown has been fixed. Thanks to Tolga Ceylan.
+       * Write Redis plugin: Multi-Valued key was made easier to parse by
+         adding a "|" character as a delimiter. Thanks to brianpkelly and
+         Florian Forster. #1070
+       * Write Redis plugin: The timestamp format was corrected. Thanks to
+         Florian Forster.
+       * ZFS ARC plugin: The plugin was will not emit warning about missing
+         "l2_size" stats anymore. Thanks to Jan Andres. #919
+       * 152 patches have been applied to numerous plugins and core components,
+         fixing various programming errors which were reported by scan-build,
+         libasan, FBInfer, coverity-scan, clang and gcc-6: Thanks to Ruben
+         Kerkhof, Florian Forster, Marc Fournier, Corey Kosak, Laurent,
+         Claudius Zingerli and Fabien Wernli.
+>>>>>>> collectd-5.4
 
 2015-02-26, Version 5.4.2
        * Build system: Numerous fixes. Thanks to Bjørn Nordbø, Jim Radford,
index e1d0ec5b71f17a9a284b1a37745416accece939a..29236e2f18563760279d9f3868b2a748e1e1a8a4 100644 (file)
@@ -213,6 +213,17 @@ static meta_entry_t *md_entry_lookup (meta_data_t *md, /* {{{ */
   return (e);
 } /* }}} meta_entry_t *md_entry_lookup */
 
+/*
+ * Each value_list_t*, as it is going through the system, is handled by exactly
+ * one thread. Plugins which pass a value_list_t* to another thread, e.g. the
+ * rrdtool plugin, must create a copy first. The meta data within a
+ * value_list_t* is not thread safe and doesn't need to be.
+ *
+ * The meta data associated with cache entries are a different story. There, we
+ * need to ensure exclusive locking to prevent leaks and other funky business.
+ * This is ensured by the uc_meta_data_get_*() functions.
+ */
+
 /*
  * Public functions
  */
index 7c15e8f99e41ce13af7e7fdcfac103bab5681164..26caa29e4d97fd18f1f9c4b6d6f6f43b3b431d18 100644 (file)
@@ -529,7 +529,7 @@ static void network_init_gcrypt (void) /* {{{ */
   err = gcry_control (GCRYCTL_INIT_SECMEM, 32768);
   if (err)
   {
-    ERROR ("network plugin: gcry_control (GCRYCTL_SET_THREAD_CBS) failed: %s", gcry_strerror (err));
+    ERROR ("network plugin: gcry_control (GCRYCTL_INIT_SECMEM) failed: %s", gcry_strerror (err));
     abort ();
   }