author | Ruben Kerkhof <ruben@rubenkerkhof.com> | |
Tue, 26 Jul 2016 10:50:07 +0000 (12:50 +0200) | ||
committer | Ruben 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
contrib/redhat/collectd.spec
version-gen.sh
ChangeLog | patch | blob | history | |
src/daemon/meta_data.c | patch | blob | history | |
src/network.c | patch | blob | history |
diff --git a/ChangeLog b/ChangeLog
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,
diff --git a/src/daemon/meta_data.c b/src/daemon/meta_data.c
index e1d0ec5b71f17a9a284b1a37745416accece939a..29236e2f18563760279d9f3868b2a748e1e1a8a4 100644 (file)
--- a/src/daemon/meta_data.c
+++ b/src/daemon/meta_data.c
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
*/
diff --git a/src/network.c b/src/network.c
index 7c15e8f99e41ce13af7e7fdcfac103bab5681164..26caa29e4d97fd18f1f9c4b6d6f6f43b3b431d18 100644 (file)
--- a/src/network.c
+++ b/src/network.c
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 ();
}