diff options
author | Rainer Gerhards <rgerhards@adiscon.com> | 2012-12-06 15:40:15 +0100 |
---|---|---|
committer | Rainer Gerhards <rgerhards@adiscon.com> | 2012-12-06 15:40:15 +0100 |
commit | 3495720a2f6bc69ccba4c0d978ee815812cc9b75 (patch) | |
tree | 13f0d923cacd5e01ec5a16e33f71af1e3956104e /plugins/imtcp/imtcp.c | |
parent | e95584a204016c87daec0f5bee0f3f794bbba38c (diff) | |
download | rsyslog-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