summaryrefslogtreecommitdiffstats
path: root/plugins/imtcp/imtcp.c
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2012-12-06 15:40:15 +0100
committerRainer Gerhards <rgerhards@adiscon.com>2012-12-06 15:40:15 +0100
commit3495720a2f6bc69ccba4c0d978ee815812cc9b75 (patch)
tree13f0d923cacd5e01ec5a16e33f71af1e3956104e /plugins/imtcp/imtcp.c
parente95584a204016c87daec0f5bee0f3f794bbba38c (diff)
downloadrsyslog-3495720a2f6bc69ccba4c0d978ee815812cc9b75.tar.gz
rsyslog-3495720a2f6bc69ccba4c0d978ee815812cc9b75.tar.bz2
rsyslog-3495720a2f6bc69ccba4c0d978ee815812cc9b75.zip
bugfix: some message properties could be garbled due to race condition
This happened only on very high volume systems, if the same message was being processed by two different actions. This was a regression caused by the new config processor, which did no longer properly enable msg locking in multithreaded cases. The bugfix is actually a refactoring of the msg locking code - we no longer do unlocked operations, as the use case for it has mostly gone away. It is potentially possible only at very low-end systems, and there the small additional overhead of doing the locking does not really hurt. Instead, the removal of that capability can actually slightly improve performance in common cases, as the code path is smaller and requires slightly less memory writes. That probably outperforms the extra locking overhead (which in the low-end case always happens in user space, without need for kernel support as we can always directly aquire the lock - there is no contention at all).
Diffstat (limited to 'plugins/imtcp/imtcp.c')
0 files changed, 0 insertions, 0 deletions