trenkel [Thu, 1 Nov 2018 12:35:31 +0000 (13:35 +0100)]
Merge pull request #2985 from tylerharper/master
add Import configuration option to collectd-python documentation
Tyler Harper [Thu, 1 Nov 2018 12:01:22 +0000 (08:01 -0400)]
add Import configuration option to collectd-python documentation
Florian Forster [Wed, 31 Oct 2018 10:18:18 +0000 (11:18 +0100)]
Merge pull request #2551 from klnikita/reset_disk_linux
disk plugin: reset the disk when it disappear from /proc/diskstats (Linux only)
Pavel Rochnyack [Wed, 31 Oct 2018 03:14:03 +0000 (10:14 +0700)]
disk plugin: Updated after review
Pavel Rochnyack [Tue, 30 Oct 2018 17:56:53 +0000 (00:56 +0700)]
disk plugin: Review #2551
Nikita Kozlov [Tue, 14 Nov 2017 20:48:53 +0000 (21:48 +0100)]
disk: in linux, reset the disk when it disappear from diskstats
If you don't reset the diskstats_t for a given diskname when it
disappear and the disk name is reused later (for exemple an iSCSI disk)
The "disk" plugin detect an int overflow because linux /proc/diskstats are
reseted to 0 for that diskname and the plugin send incorrect stats for
the new disk.
Pavel Rochnyack [Tue, 30 Oct 2018 16:14:30 +0000 (23:14 +0700)]
contrib/docker: Install all recommended packages
Closes: #2974
Closes: #2973
Pavel Rochnyack [Tue, 30 Oct 2018 14:53:11 +0000 (21:53 +0700)]
disk plugin: Fix regression after #2955 (Drop support for Linux 2.4)
Issue: #2955
Pavel Rochnyack [Sat, 27 Oct 2018 17:02:22 +0000 (00:02 +0700)]
cpufreq plugin: Limit reported value of percent to 100.1
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state \
; sleep 10 ; cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
2664000 463368
1998000 59724070
2664000 463385
1998000 59725054
The sum of counters change is 1001, which produces reported value near
to 100.1%. I got calculated ds[0] = 100.100053 and such value produces gap on
charts.
Added limit to avoid such.
Pavel Rochnyak [Sat, 27 Oct 2018 14:23:52 +0000 (21:23 +0700)]
Merge pull request #2627 from pllopis/turbostat_fixes
turbostat plugin: add RestoreAffinityPolicy parameter
Pavel Rochnyack [Sat, 27 Oct 2018 13:16:38 +0000 (20:16 +0700)]
turbostat plugin: Polished RestoreAffinityPolicy option
Pablo Llopis [Tue, 13 Mar 2018 10:55:06 +0000 (11:55 +0100)]
turbostat plugin: add new setting `RestoreAffinityPolicy`
This new setting controls how the affinity is restored during
turbostat_read(). Two policies are implemented: AffinityRestore, and
AffinityAllCPUs. The default policy, AffinityRestore, behaves exactly
the same as before, which is to save affinity and to later restore it.
The second policy, RestoreAllCPUs, skips saving the affinity and
sets the affinity to all CPUs after each read. This second policy is
useful for systems where sched_getaffinity() fails and prevents data
collection.
Pablo Llopis [Fri, 15 Dec 2017 14:58:22 +0000 (15:58 +0100)]
formatting fixes
Pablo Llopis [Fri, 15 Dec 2017 13:57:33 +0000 (14:57 +0100)]
Increase turbostat_read() resiliency when sched_getaffinity() fails
Pavel Rochnyack [Sat, 27 Oct 2018 10:02:57 +0000 (17:02 +0700)]
Request kernel version in reported issues
Florian Forster [Sat, 27 Oct 2018 08:53:12 +0000 (10:53 +0200)]
Merge pull request #2979 from rpv-tomsk/collectd-master
swap plugin: Drop support for Linux 2.4.
Pavel Rochnyack [Sat, 27 Oct 2018 07:57:11 +0000 (14:57 +0700)]
swap plugin: Drop support for Linux 2.4.
Related: #2955
Pavel Rochnyak [Sat, 27 Oct 2018 07:56:47 +0000 (14:56 +0700)]
Merge pull request #2978 from rpv-tomsk/collectd-master
virt plugin: Cleanup
Pavel Rochnyack [Sat, 27 Oct 2018 07:36:55 +0000 (14:36 +0700)]
virt plugin: Cleanup
Florian Forster [Sat, 27 Oct 2018 07:14:25 +0000 (09:14 +0200)]
Merge pull request #2923 from qdbp/gpu_nvml_plugin
New plugin: gpu_nvidia collects NVIDIA GPU stats.
Evgeny Naumov [Fri, 26 Oct 2018 22:13:27 +0000 (18:13 -0400)]
rename plugin to "gpu_nvidia"
Pavel Rochnyack [Fri, 26 Oct 2018 17:29:52 +0000 (00:29 +0700)]
Merge branch 'collectd-5.8' into master
Conflicts:
src/disk.c
src/virt.c
Pavel Rochnyack [Fri, 26 Oct 2018 15:06:35 +0000 (22:06 +0700)]
Merge branch 'collectd-5.7' into collectd-5.8
Conflicts:
src/utils_mount.c
Florian Forster [Fri, 26 Oct 2018 06:21:45 +0000 (08:21 +0200)]
Merge pull request #2975 from octo/issue/2954
zfs_arc: Ignore the first two lines of the statistics file on Linux (5.7 cherry-pick)
Florian Forster [Fri, 26 Oct 2018 06:05:41 +0000 (08:05 +0200)]
contrib/format.sh src/zfs_arc.c
YmrDtnJu [Sat, 10 Dec 2016 00:30:59 +0000 (01:30 +0100)]
zfs_arc: Ignore the first two lines of the statistics file on Linux.
The first two lines of the statistics file on Linux contain information about
the rest of the file. They do not contain any usable statistics.
See module/spl/spl-kstat.c of the spl module of ZFS on Linux for more
information.
Florian Forster [Thu, 25 Oct 2018 18:20:46 +0000 (20:20 +0200)]
Merge pull request #2972 from rpv-tomsk/collectd-collectd-5.8
virt plugin: Remove optional virDomainGetCPUStats() from main flow
Pavel Rochnyack [Thu, 25 Oct 2018 08:44:38 +0000 (15:44 +0700)]
virt plugin: Move `get_pcpu_stats()' down to avoid forward declaration of `submit_derive2()'
Pavel Rochnyack [Thu, 25 Oct 2018 08:37:20 +0000 (15:37 +0700)]
virt plugin: Submit `ps_cputime' only when data exists
Pavel Rochnyack [Thu, 25 Oct 2018 07:53:33 +0000 (14:53 +0700)]
virt plugin: Remove optional virDomainGetCPUStats() from main flow
virDomainGetCPUStats() call is only required when `pcpu' extra statistics is requested.
While not supported in all configurations, this call may fail which causes failure in
reporting of other domain metrics.
Pavel Rochnyak [Thu, 25 Oct 2018 05:06:29 +0000 (12:06 +0700)]
Merge pull request #2969 from rpv-tomsk/issue-2173
write_prometheus: Added 'Host' option.
Pavel Rochnyak [Thu, 25 Oct 2018 05:05:29 +0000 (12:05 +0700)]
Merge pull request #2970 from octo/ff/oauth
src/utils_oauth.c: Renew OAuth tokens 30 seconds before they expire.
Pavel Rochnyak [Thu, 25 Oct 2018 05:05:12 +0000 (12:05 +0700)]
Merge pull request #2971 from rubenk/gpsd-fix-build
gps plugin: fix build with newer gpsd
Pavel Rochnyack [Wed, 24 Oct 2018 14:16:12 +0000 (21:16 +0700)]
Added missing include of "collectd.h"
This adressed to solve compilation issue on Solaris platform:
./src/config.h:1526:0: error: "_FILE_OFFSET_BITS" redefined [-Werror]
Baruch Siach [Tue, 9 Oct 2018 16:57:21 +0000 (19:57 +0300)]
gps plugin: fix build with newer gpsd
gpsd version 3.18 changed the prototype of gps_read(). Make the
gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that.
This fixes build failures like:
gps.c: In function 'cgps_thread':
gps.c:144:11: error: too few arguments to function 'gps_read'
if (gps_read(&gpsd_conn) == -1) {
^~~~~~~~
(cherry picked from commit
991a6d3fd38c2435d94de3853fda36b3330cf6ab)
Pavel Rochnyack [Wed, 24 Oct 2018 08:08:14 +0000 (15:08 +0700)]
write_prometheus: Added 'Host' option.
This allows to set specific address to listen on.
Closes: #2173
Closes: #2288
Florian Forster [Wed, 24 Oct 2018 08:07:08 +0000 (10:07 +0200)]
src/utils_oauth.c: Renew OAuth tokens 30 seconds before they expire.
This solves sporious errors like this one:
write_stackdriver plugin: POST https://monitoring.googleapis.com/v3/projects/{projectId}/timeSeries:
API error 401: Request had invalid authentication credentials.
Expected OAuth 2 access token, login cookie or other valid authentication credential.
See https://developers.google.com/identity/sign-in/web/devconsole-project.
Evgeny Naumov [Wed, 24 Oct 2018 00:24:40 +0000 (20:24 -0400)]
fix formatting
Evgeny Naumov [Wed, 24 Oct 2018 00:00:02 +0000 (20:00 -0400)]
address PR review issues
Florian Forster [Tue, 23 Oct 2018 18:07:19 +0000 (20:07 +0200)]
ChangeLog: Correct date for 5.8.1 release.
Dylan Stephano-Shachter [Thu, 15 Feb 2018 21:37:33 +0000 (16:37 -0500)]
change HAVE_UDEV_H to HAVE_LIBUDEV_H for bug 2651
(cherry picked from commit
ed696c1b3adcb42d55759efe6f8034337f0fd243)
Florian Forster [Tue, 23 Oct 2018 06:46:51 +0000 (08:46 +0200)]
Merge remote-tracking branch 'github/pr/2964'
Evgeny Naumov [Mon, 22 Oct 2018 15:24:20 +0000 (11:24 -0400)]
merge upstream
Matteo Croce [Mon, 22 Oct 2018 14:46:33 +0000 (16:46 +0200)]
ovs_stats: use correct OpenFlow value
The correct value in the OpenFlow 1.4 statistics is 1024_to_1522_packets,
even if collectd is using 1024_to_1518_packets:
$ ovs-ofctl -O OpenFlow14 dump-ports ovsbr0
OFPST_PORT reply (OF1.4) (xid=0x2): 3 ports
port guest2: rx pkts=0, bytes=0, drop=0, errs=0, frame=?, over=?, crc=?
tx pkts=0, bytes=0, drop=0, errs=?, coll=?
duration=132.213s
rx rfc2819 1_to_64_packets=0, 65_to_127_packets=0,
128_to_255_packets=0, 256_to_511_packets=0,
512_to_1023_packets=0, 1024_to_1522_packets=0,
1523_to_max_packets=0,
Correct it to the right value.
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Evgeny Naumov [Mon, 22 Oct 2018 14:41:06 +0000 (10:41 -0400)]
changes from PR review
Florian Forster [Mon, 22 Oct 2018 09:13:43 +0000 (11:13 +0200)]
Bump version to 5.8.1; Update ChangeLog.
Pavel Rochnyack [Mon, 22 Oct 2018 02:03:39 +0000 (09:03 +0700)]
cleanup: Use compound literals for SO_REUSEADDR setsockopt
Pavel Rochnyack [Mon, 22 Oct 2018 01:52:53 +0000 (08:52 +0700)]
Merge pull request #2803 from rorysexton/dev_branch
cpufreq plugin: Read number of p-state transitions and time spent in each p-state
Pavel Rochnyack [Sun, 21 Oct 2018 16:51:12 +0000 (23:51 +0700)]
cpufreq plugin: Address code review comments
Pavel Rochnyack [Sun, 21 Oct 2018 06:46:10 +0000 (13:46 +0700)]
cpufreq plugin: Address code review comments
Pavel Rochnyack [Sat, 20 Oct 2018 17:12:10 +0000 (00:12 +0700)]
cpufreq plugin: Reviewed p-state statistics code
Pavel Rochnyack [Sat, 20 Oct 2018 13:00:18 +0000 (20:00 +0700)]
cpufreq: Review time_in_state metric
Pavel Rochnyack [Sat, 20 Oct 2018 12:11:47 +0000 (19:11 +0700)]
cpufreq: Review p-state transitions metric
Sexton, Rory [Fri, 24 Aug 2018 08:53:10 +0000 (09:53 +0100)]
Clang format
Sexton, Rory [Fri, 24 Aug 2018 07:56:54 +0000 (08:56 +0100)]
Addressing comments on previous commit.
Sexton, Rory [Fri, 1 Jun 2018 14:59:04 +0000 (15:59 +0100)]
Updating cpufreq.c from clang-format
Sexton, Rory [Fri, 1 Jun 2018 14:43:48 +0000 (15:43 +0100)]
Extending cpufreq plugin to read the following additional metrics:
- number of p-state(cpu frequency) transitions
- time spent in each p-state
Both metrics are reported by the Linux cpufreq-stats driver:
https://www.kernel.org/doc/Documentation/cpu-freq/cpufreq-stats.txt
Matteo Croce [Thu, 18 Oct 2018 21:25:20 +0000 (23:25 +0200)]
ovs_stats: add macro to populate counters list
Use a stringification macro to populate the counter array. Doing this
instead of duplicating the tokens is less error prone.
Signed-off-by: Matteo Croce <mcroce@redhat.com>
Ruben Kerkhof [Sun, 21 Oct 2018 16:24:36 +0000 (18:24 +0200)]
Merge pull request #2962 from octo/utils_mount
src/utils_mount.c: Add code path for HAVE_GETMNTENT_R.
Florian Forster [Sat, 20 Oct 2018 06:43:30 +0000 (08:43 +0200)]
docs/review_comments.md: Add paragraph "Define variables on first use".
Pavel Rochnyak [Sat, 20 Oct 2018 11:17:11 +0000 (18:17 +0700)]
Merge pull request #2806 from rorysexton/dev_turbostat_plugin
turbostat plugin: New metrics: P-states,Turboboost,Platform TDP,Uncore bus ratio
Florian Forster [Fri, 19 Oct 2018 12:38:27 +0000 (14:38 +0200)]
docs/review_comments.md: Start document with frequent review comments.
Pavel Rochnyack [Fri, 19 Oct 2018 10:37:40 +0000 (17:37 +0700)]
statsd: Set SO_REUSEADDR on listening socket
Closes: #1126
Closes: #1187
Florian Forster [Thu, 18 Oct 2018 16:14:09 +0000 (18:14 +0200)]
src/daemon/utils_cache_mock.c: Add uc_meta_data_{add,get}_signed_int().
Fixes test_format_stackdriver.
Florian Forster [Thu, 18 Oct 2018 15:27:30 +0000 (17:27 +0200)]
write_stackdriver plugin: Remove redundant error message.
A more detailed error is previously logged by wg_call_timeseries_write.
Florian Forster [Thu, 18 Oct 2018 13:50:19 +0000 (15:50 +0200)]
write_stackdriver plugin: Check "http_code" instead of "status".
Florian Forster [Thu, 18 Oct 2018 13:49:37 +0000 (15:49 +0200)]
write_stackdriver plugin: Check pointer for NULL before dereferencing it.
Florian Forster [Thu, 18 Oct 2018 16:23:54 +0000 (18:23 +0200)]
src/utils_mount.c: Add code path for HAVE_GETMNTENT_R.
I don't know when this got lost or why it is triggering now, but the
build fails on my machine without this now.
Florian Forster [Thu, 18 Oct 2018 11:28:02 +0000 (13:28 +0200)]
Makefile.am: s/EXTRA_LTLIBRARIES/noinst_LTLIBRARIES/
9a31008108740bf39d86bdfcb86363a71cad7c0c did not make it into the PR
branch. :\
Florian Forster [Thu, 18 Oct 2018 08:49:37 +0000 (10:49 +0200)]
Merge remote-tracking branch 'github/pr/2472'
Florian Forster [Thu, 18 Oct 2018 06:18:25 +0000 (08:18 +0200)]
Merge branch 'collectd-5.7' into collectd-5.8
collectd bot [Wed, 17 Oct 2018 06:17:17 +0000 (08:17 +0200)]
Auto-Merge pull request #2957 from niuxu18/collectd-5.8
Automatically merged due to "Automerge" label
sarah [Wed, 17 Oct 2018 01:59:21 +0000 (09:59 +0800)]
Update virt.c
collectd bot [Mon, 15 Oct 2018 20:12:11 +0000 (22:12 +0200)]
Auto-Merge pull request #2955 from octo/linux-2.4
Automatically merged due to "Automerge" label
Florian Forster [Mon, 15 Oct 2018 19:17:55 +0000 (21:17 +0200)]
disk plugin: Drop support for Linux 2.4.
Pavel Rochnyack [Sun, 14 Oct 2018 11:05:42 +0000 (18:05 +0700)]
Fix Solaris builds
Change introduced in
df135922b19890047ebf725e6b82cd1c174c6d52 (#2810) causes build
failure on Solaris:
src/libcollectdclient/server.c: In function ‘server_multicast_join’:
src/libcollectdclient/server.c:103:9: error: unknown field ‘imr_address’ specified in initializer
.imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
^
src/libcollectdclient/server.c:103:69: error: ‘struct sockaddr_in’ has no member named ‘S_un’
.imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
^
src/libcollectdclient/server.c:102:27: error: missing braces around initializer [-Werror=missing-braces]
struct ip_mreq mreq = {
^
src/libcollectdclient/server.c:102:27: note: (near initialization for ‘mreq’)
Removed this change as not related to WIN32 platform.
Pavel Rochnyack [Sun, 14 Oct 2018 10:57:56 +0000 (17:57 +0700)]
Fix Solaris builds
Change introduced in
df135922b19890047ebf725e6b82cd1c174c6d52 (#2810) causes build
failure on Solaris:
src/libcollectdclient/server.c: In function ‘server_multicast_join’:
src/libcollectdclient/server.c:103:9: error: unknown field ‘imr_address’ specified in initializer
.imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
^
src/libcollectdclient/server.c:103:69: error: ‘struct sockaddr_in’ has no member named ‘S_un’
.imr_address.s_addr = INADDR_ANY, .imr_multiaddr.s_addr = sa->s_addr,
^
src/libcollectdclient/server.c:102:27: error: missing braces around initializer [-Werror=missing-braces]
struct ip_mreq mreq = {
^
src/libcollectdclient/server.c:102:27: note: (near initialization for ‘mreq’)
Removed this change as not related to WIN32 platform.
Pavel Rochnyack [Sun, 14 Oct 2018 10:37:46 +0000 (17:37 +0700)]
Fix 'make distcheck' (for `master-aggregation` hook)
Change introduced in
df135922b19890047ebf725e6b82cd1c174c6d52 (#2810)
This change causes error in 'master-aggregation' hook:
ERROR: files left in build directory after distclean:
./liboconfig.la
./libcommon.la
./libmount.la
./libformat_json.la
./libheap.la
./libignorelist.la
./libavltree.la
./libformat_graphite.la
./liblatency.la
./liblookup.la
./libmetadata.la
./libcmds.la
collectd bot [Sun, 14 Oct 2018 09:13:10 +0000 (11:13 +0200)]
Auto-Merge pull request #2953 from rpv-tomsk/collectd-collectd-5.8
Automatically merged due to "Automerge" label
Pavel Rochnyack [Sun, 14 Oct 2018 08:45:56 +0000 (15:45 +0700)]
ntpd: plug potential leak on error
Issue: #2942
collectd bot [Fri, 12 Oct 2018 16:18:26 +0000 (18:18 +0200)]
Auto-Merge pull request #2950 from octo/ff/wireless
Automatically merged due to "Automerge" label
collectd bot [Fri, 12 Oct 2018 12:18:14 +0000 (14:18 +0200)]
Auto-Merge pull request #2952 from octo/issue/2951
Automatically merged due to "Automerge" label
Florian Forster [Fri, 12 Oct 2018 11:18:42 +0000 (13:18 +0200)]
disk plugin: Support Linux kernels with additional fields.
Linux 4.19 will add additional counters, which caused this plugin to
bail out because it checked the number of fields exactly instead of
ensuring that there are *at least* the number of fields expected.
Fixes: #2951
Florian Forster [Thu, 11 Oct 2018 16:49:50 +0000 (18:49 +0200)]
wireless plugin: Add bitrate metric.
collectd bot [Thu, 11 Oct 2018 12:14:19 +0000 (14:14 +0200)]
Auto-Merge pull request #2949 from rubenk/fix-detection-of-xmms
Automatically merged due to "Automerge" label
Ruben Kerkhof [Thu, 11 Oct 2018 11:00:35 +0000 (13:00 +0200)]
Fix detection of xmmsctrl.h
checking xmmsctrl.h usability... yes
checking xmmsctrl.h presence... no
configure: WARNING: xmmsctrl.h: accepted by the compiler, rejected by the preprocessor!
configure: WARNING: xmmsctrl.h: proceeding with the compiler's result
checking for xmmsctrl.h... yes
checking for xmms_remote_get_info in -lxmms... yes
AC_CHECK_HEADER uses the preprocessor, which doesn't look at CFLAGS.
Use CPPFLAGS so it uses the right include path to look for xmmsctrl.h
Florian Forster [Tue, 9 Oct 2018 11:54:50 +0000 (13:54 +0200)]
src/utils_format_stackdriver.c: Fix initial value of cumulative metrics.
The start value of cumulative metrics is stored in the cache. The first
value of a cumulative metric is then skipped, since Stackdriver required
the interval to be non-zero.
While looking into this, I realized that "absolute" metrics are not
cumulative and changed them accordingly.
collectd bot [Thu, 11 Oct 2018 06:02:46 +0000 (08:02 +0200)]
Auto-Merge pull request #2948 from rubenk/turbostat-free-the-right-vars
Automatically merged due to "Automerge" label
Ruben Kerkhof [Tue, 29 May 2018 08:37:18 +0000 (10:37 +0200)]
turbostat plugin: free the right variable
scan-build: Using '/usr/bin/clang-6.0' for static analysis
make all-am
make[1]: Entering directory '/home/ruben/src/collectd'
CC src/turbostat.lo
src/turbostat.c:1292:5: warning: Argument to free() is the address of the global variable 'thread_delta', which is not memory allocated by malloc()
sfree(threads);
^~~~~~~~~~~~~~
./src/daemon/common.h:41:5: note: expanded from macro 'sfree'
free(ptr); \
^~~~~~~~~
src/turbostat.c:1299:5: warning: Argument to free() is the address of the global variable 'core_delta', which is not memory allocated by malloc()
sfree(cores);
^~~~~~~~~~~~
./src/daemon/common.h:41:5: note: expanded from macro 'sfree'
free(ptr); \
^~~~~~~~~
2 warnings generated.
CCLD turbostat.la
(cherry picked from commit
74eda959ddf653b7d20779d84f0a140e85376726)
Pavel Rochnyak [Wed, 10 Oct 2018 03:04:21 +0000 (10:04 +0700)]
Merge pull request #2947 from baruchsiach/fix-build-gpsd
gps plugin: fix build with newer gpsd
Baruch Siach [Tue, 9 Oct 2018 16:57:21 +0000 (19:57 +0300)]
gps plugin: fix build with newer gpsd
gpsd version 3.18 changed the prototype of gps_read(). Make the
gps_read() call depend on GPSD_API_MAJOR_VERSION to fix that.
This fixes build failures like:
gps.c: In function 'cgps_thread':
gps.c:144:11: error: too few arguments to function 'gps_read'
if (gps_read(&gpsd_conn) == -1) {
^~~~~~~~
collectd bot [Tue, 9 Oct 2018 15:11:27 +0000 (17:11 +0200)]
Auto-Merge pull request #2945 from octo/ff/travis
Automatically merged due to "Automerge" label
Florian Forster [Tue, 9 Oct 2018 13:53:00 +0000 (15:53 +0200)]
.travis.yml: Determine number of CPUs at runtime.
collectd bot [Tue, 9 Oct 2018 13:13:56 +0000 (15:13 +0200)]
Auto-Merge pull request #2944 from octo/ff/typo
Automatically merged due to "Automerge" label
Daniel Vrátil [Wed, 12 Sep 2018 15:05:31 +0000 (17:05 +0200)]
exec: fix potential deadlock after fork()
POSIX forbids calling functions which are not thread-safe like
setenv() after fork() in multi-threaded programs. It happens to
work just fine with some libc implementations, but it causes a
deadlock in the child process with uClibc for example.
The proper way to pass new environment variables to the child
process is to update parent's environment before the fork(), so
that the child inherits the updated environment and then undo the
changes in the parent process again.
Signed-off-by: Florian Forster <octo@collectd.org>
Daniel Vrátil [Wed, 12 Sep 2018 15:20:00 +0000 (17:20 +0200)]
exec: Call putenv() with a global buffer
putenv() adds the string pointer to the environment so it should
not be called with an automatic variable.
Signed-off-by: Florian Forster <octo@collectd.org>
Florian Forster [Tue, 9 Oct 2018 11:55:23 +0000 (13:55 +0200)]
src/daemon/common.h: Fix typo.
collectd bot [Tue, 9 Oct 2018 11:38:05 +0000 (13:38 +0200)]
Auto-Merge pull request #2942 from rubenk/ntpd-plug-leak
Automatically merged due to "Automerge" label
Ruben Kerkhof [Tue, 9 Oct 2018 08:36:48 +0000 (10:36 +0200)]
ntpd: plug potential leak on error
Found by scan-build:
src/ntpd.c:833:5: warning: Potential memory leak
ERROR("ntpd plugin: ntpd_do_query (REQ_GET_KERNEL) failed with status %i",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./src/daemon/plugin.h:391:20: note: expanded from macro 'ERROR'
^~~~~~~~~~
1 warning generated.
Ruben Kerkhof [Tue, 9 Oct 2018 08:09:12 +0000 (10:09 +0200)]
Merge pull request #2903 from ccin2p3/documentation/libvirt
add some useful info to libvirt manpage