| Commit message (Collapse) | Author | Age | Files | Lines |
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
If the the multi-submit interface was used and a QUEUE_FULL condition
occured, the failed message was properly destructed. However, the
rest of the input batch, if it existed, was not processed. So this
lead to potential loss of messages and a memory leak. The potential
loss of messages was IMHO minor, because they would have been dropped
in most cases due to the queue remaining full, but very few lucky ones
from the batch may have made it. Anyhow, this has now been changed so
that the rest of the batch is properly tried to be enqueued and, if
not possible, destructed.
|
|\|
| |
| |
| |
| | |
Conflicts:
runtime/parser.c
|
| | |
|
|/
|
|
|
|
| |
replaced atomic operation emulation with new code. The previous code
seemed to have some issue and also limited concurrency severely. The
whole atomic operation emulation has been rewritten.
|
| |
|
|\
| |
| |
| |
| | |
Conflicts:
runtime/queue.c
|
| |
| |
| |
| |
| |
| | |
(bugs require certain non-standard settings to appear)
Signed-off-by: Rainer Gerhards <rgerhards@adiscon.com>
|
| |
| |
| |
| |
| |
| | |
(depending on configuration). This was a small change, but with big
results. There is more potential to explore, but the effects were so
dramatic that I think it makes sense to include this fix.
|
| |
| |
| |
| |
| | |
... this one could cause trouble, but I really don't think it caused
any actual harm.
|
| |
| |
| |
| |
| |
| | |
... as it was not even optimal on uniprocessors any longer ;) I keep
the config directive in, maybe we can utilize it again at some later
point in time (questionable).
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
also adds speed, because you do no longer need to run the whole file
system in sync mode. New testbench and new config directives:
- $MainMsgQueueSyncQueueFiles
- $ActionQueueSyncQueueFiles
|
| |
| |
| |
| | |
now some basic operations are carried out via the stream class.
|
|/
|
|
|
|
| |
... and also made it callable via an rsyslog interface rather then
relying on the OS loader (important if we go for using it inside
loadbale modules, which we soon possible will)
|
|\
| |
| |
| |
| |
| | |
Conflicts:
ChangeLog
runtime/queue.c
|
| |
| |
| |
| |
| | |
... badly affecting performance for delayable inputs (but not causeing
any other issues)
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | | |
- if queues could not be drained before timeout - thanks to
David Lang for pointing this out
- added link to german-language forum to doc set
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Unfortunatley, I do not have the full list of contributors
available. The patch set was compiled by Ben Taylor, and I made
some further changes to adopt it to the news rsyslog branch. Others
provided much of the base work, but I can not find the names of the
original authors. If you happen to be one of them, please let me
know so that I can give proper credits.
|
| | |
| | |
| | |
| | |
| | |
| | | |
...to enable users to turn off pthread_yield calls which are
counter-productive on multiprocessor machines (but have been
shown to be useful on uniprocessors)
|
| | |
| | |
| | |
| | |
| | | |
This occured if queues could not be drained before timeout.
Thanks to David Lang for pointing this out.
|
| | |
| | |
| | |
| | |
| | |
| | | |
This enables us to use more efficient calling conventions and
also helps us keep the on-disk structure of a msg object more
consistent in future releases.
|
|\| | |
|
| |\| |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
which so far seems to increase performance. There is also
reason for it to do so, see http://kb.monitorware.com/post14216.html#p14216
|
| | |
| | |
| | |
| | |
| | |
| | | |
Message parsing is now done as part of main message queue worker
processing (was part of the input thread) This should also improve
performance, as potentially more work is done in parallel.
|
|/ /
| |
| |
| | |
the critical section what could so with acceptable consequences
|
| |
| |
| |
| |
| |
| |
| |
| | |
- changed sequence when awakening thread
- removed no longer needed condition variable
- EXPERIMENTALLY added mutex guarding to hostname lookups
this is to be removed if it does not have any verifyable
useful effect
|
| |
| |
| |
| |
| |
| | |
- removed newly-introduced potential deadlock in debug system
- removed unnecessary pthread_cond_signal
- a bit general cleanup
|
| |
| |
| |
| |
| |
| |
| | |
There was a wrong order of mutex lock operations. It is hard to
believe that really caused problems, but in theory it could and with
threading we often see that theory becomes practice if something is only
used long enough on a fast enough machine with enough CPUs ;)
|
|/ |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
- added the ability to specify an error log function for the
runtime
- removed dependency of core runtime on dirty.h
Note that it is "better" modularity, not perfect. There is still
work to do, but I think we can for the time being proceed with
other things.
|
|
|
|
|
| |
cleanup + created an abstract class for global data
items and moved glblGetWorkDir to it
|
|
|
|
|
| |
reduced dependencies, moved non-runtime files to its own directory except
for some whom's status is unclear
|
|
|