summaryrefslogtreecommitdiffstats
path: root/action.c
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: queues in direct mode could case a segfault,...Rainer Gerhards2010-01-261-3/+3
| | | | | | | | especially if an action failed for action queues. The issue was an invalid increment of a stack-based pointer which lead to destruction of the stack frame and thus a segfault on function return. Thanks to Michael Biebl for alerting us on this problem.
* Merge branch 'beta'Rainer Gerhards2010-01-121-3/+13
|\
| * bugfix: ompgsql did not properly check the server connection in tryResume()Rainer Gerhards2009-12-161-8/+0
| | | | | | | | | | what could lead to rsyslog running in a thight loop. Also did some code cleanup of previous patch.
| * bugfix: error during beginTransaction() was not properly handledRainer Gerhards2009-12-161-2/+20
| | | | | | | | | | Suspension during beginTransaction() did not properly cause the action to be suspended, thus we entered an endless loop.
* | Merge branch 'beta' into masterRainer Gerhards2009-11-261-6/+11
|\| | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog action.c configure.ac doc/manual.html doc/rsyslog_conf_modules.html tests/sndrcv_drvr.sh
| * bugfix: commit transaction was not properly conveyed to message layer,Rainer Gerhards2009-11-261-4/+11
| | | | | | | | potentially resulting in non-message destruction and thus hangs
* | enhanced module debug outputRainer Gerhards2009-11-251-0/+3
|/ | | | | ... and addes some (later-to-be-removed) debug code to support finding a problem in transaction handling.
* some light performance enhancementRainer Gerhards2009-11-121-6/+6
| | | | | ...by replacing time() call with much faster (at least under linux) gettimeofday() calls.
* Merge branch 'v4-devel'Rainer Gerhards2009-11-121-1/+2
|\ | | | | | | | | Conflicts: tests/Makefile.am
| * Merge branch 'v4-stable' into v4-betaRainer Gerhards2009-11-121-1/+2
| |\ | | | | | | | | | | | | Conflicts: tests/Makefile.am
| | * bugfix: $ActionExecOnlyOnceEveryInterval did not work.Rainer Gerhards2009-11-121-1/+2
| | | | | | | | | | | | | | | | | | This was a regression from the time() optimizations done in v4. Bug tracker: http://bugzilla.adiscon.com/show_bug.cgi?id=143 Thanks to Klaus Tachtler for reporting this bug.
| * | minor: optimized dbgprintf() useRainer Gerhards2009-09-101-17/+17
| | |
* | | some module cleanupRainer Gerhards2009-11-121-0/+14
| | |
* | | moved rfc3164/5424 code to new parser modulesRainer Gerhards2009-11-041-1/+0
| | | | | | | | | | | | | | | | | | another milestone commit: the program works, the new interface is used, some more cleanup is needed and the per-ruleset config options are still missing. But we are getting closer...
* | | added omruleset output module, which provides great flexibility in action ↵Rainer Gerhards2009-11-021-4/+15
| | | | | | | | | | | | | | | | | | processing. THIS IS A VERY IMPORTANT ADDITION, see its doc for why.
* | | some more cleanup - action config line handlers are now defined in action.cRainer Gerhards2009-10-271-41/+28
| | | | | | | | | | | | As an artifact of early development, they were registered in syslogd.c
* | | action processing optimized for queue shutdownRainer Gerhards2009-10-271-23/+15
| | |
* | | Begun to work on partial batch deletes...Rainer Gerhards2009-10-221-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | ... but this brings a lot of problems with it. The issue is that we still have a sequential store and we do not know how we could delete the one entry right in the middle of processing. I keep this branch if we intend to move on with it - but for now I look into a different solution...
* | | bugfix: message processing states were not set correctly in all casesRainer Gerhards2009-10-191-2/+4
| | | | | | | | | | | | | | | | | | however, this had no negative effect, as the message processing state was not evaluated when a batch was deleted, and that was the only case where the state could be wrong.
* | | new queue engine - initial commit (probably not 100% working!)Rainer Gerhards2009-10-141-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | simplified and thus speeded up the queue engine, also fixed some potential race conditions (in very unusual shutdown conditions) along the way. The threading model has seriously changes, so there may be some regressions. NOTE: the code passed basic tests, but there is still more work and testing to be done. This commit should be treated with care.
* | | added some debug settings plus improved shutdown sequenceRainer Gerhards2009-10-131-6/+6
| | | | | | | | | | | | ... non-working version!
* | | minor: optimized dbgprintf() calling sequenceRainer Gerhards2009-09-101-17/+17
| | |
* | | reduced number of debug messages a bit againRainer Gerhards2009-08-261-9/+0
| | |
* | | added new config option $ActionWriteAllMarkMessagesRainer Gerhards2009-08-201-2/+7
| | | | | | | | | | | | | | | | | | this option permites to process mark messages under all circumstances, even if an action was recently called. This can be useful to use mark messages as a kind of heartbeat.
* | | bugfix: discard action did not work (did not discard messages)Rainer Gerhards2009-07-301-19/+37
| | |
* | | more code simplification, should also bring some performance enhancementRainer Gerhards2009-07-171-11/+0
| | | | | | | | | | | | reducing the number of thread cancellation state changes
* | | Merge branch 'v4-devel'Rainer Gerhards2009-07-091-1/+2
|\| |
| * | small performance improvement and cleanupRainer Gerhards2009-07-091-1/+2
| | | | | | | | | | | | | | | | | | optimized substring processing, should bring a small enhancement when forwarding with the default forwarding templates. Also did some uchar cleanup in msg.c (thus so many changes, in reality they are few...).
* | | Merge branch 'master' into v5-develRainer Gerhards2009-06-261-2/+2
|\| |
| * | got rid of the recursive requirement for msg_t mutex (finally!)Rainer Gerhards2009-06-261-2/+2
| | |
| * | bugfix: abort when using multiple mainMsgQueue worker threadsRainer Gerhards2009-06-241-16/+9
| | | | | | | | | | | | | | | | | | this bug was introduced by a recent change which was a bit too agressive in avoiding locking. We can probably do better than with this patch, but I think I'll move that into the v5 engine.
| * | fixed a race condition: generated msg string store must be mutex protectedRainer Gerhards2009-06-231-11/+13
| | | | | | | | | | | | | | | | | | | | | | | | the string area that is used to build the string being passed to the output module is now part of the action structure. As such, access to it must also be guarded by the action mutex (an even more optimal solution may be to store it in thread-local storage, but there always must remain some room for improvement ;)).
* | | quick and dirty fix for one race conditionRainer Gerhards2009-06-241-4/+4
| | | | | | | | | | | | | | | | | | It is intentionally quick & dirty, as I would like to do some better patch, if possible. For that, I probably need the commented-out code, thus no delete.
* | | Merge branch 'omfile' into v5-develRainer Gerhards2009-06-231-13/+7
|\| | | | | | | | | | | | | | Conflicts: runtime/rsyslog.h
| * | restored repeated message reduction processingRainer Gerhards2009-06-231-14/+8
| | |
* | | some post-merge cleanupRainer Gerhards2009-06-221-5/+2
| | |
* | | Merge branch 'omfile' into tmpRainer Gerhards2009-06-221-63/+89
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was a complex manual merge, especially in action.c. So if there occur some problems, this would be a good point to start troubleshooting. I run a couple of tests before commiting and they all went well. Conflicts: action.c action.h runtime/queue.c runtime/queue.h runtime/wti.c runtime/wti.h
| * | optimized template string generationRainer Gerhards2009-06-191-31/+72
| | |
| * | optimized action.c a bitRainer Gerhards2009-06-191-19/+15
| | |
| * | optimized handling of MSG part in msg objectRainer Gerhards2009-06-181-1/+2
| | | | | | | | | | | | | | | WARNING: currently, message repeation processing is disabled, must be reenabled (but prefer to do some other tests first)
| * | cleaned up/optimized raw message handling in msg objectRainer Gerhards2009-06-181-1/+1
| | |
* | | Merge branch 'omfile' into v5-develRainer Gerhards2009-06-161-0/+4
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note that this was NOT a trivial merge, and there may be some issues. This needs to be seen when we continue developing. Conflicts: runtime/msg.h runtime/obj.h runtime/queue.c runtime/srUtils.h runtime/stream.c runtime/stream.h runtime/wti.c tests/Makefile.am tools/omfile.c tools/syslogd.c
| * | added capability to fsync() queue disk files for enhanced reliabilityRainer Gerhards2009-06-091-0/+4
| |/ | | | | | | | | | | | | 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
* | moved user object destruction to queue itselfRainer Gerhards2009-05-131-1/+0
| | | | | | | | | | | | So far, the consumer was responsible for destroying objects. However, this does not work well with ultra-reliable queues. This is the first move to support them.
* | action batch processing implementedRainer Gerhards2009-05-121-24/+132
| | | | | | | | ... passed initial tests, but of course more are needed
* | moving to a cleaner implementation of batchesRainer Gerhards2009-05-121-12/+13
| | | | | | | | ... now that we know what we need from a theoretical POV.
* | Merge branch 'master' into multi-dequeueRainer Gerhards2009-05-121-4/+7
|\| | | | | | | | | Conflicts: runtime/rsyslog.h
| * added capability to draw configuration graphsRainer Gerhards2009-05-111-4/+7
| | | | | | | | | | | | | | | | - added $GenerateConfigGraph configuration command which can be used to generate nice-looking (and very informative) rsyslog configuration graphs. - added $ActionName configuration directive (currently only used for graph generation, but may find other uses)
* | fixed some bugs & added testing helpersRainer Gerhards2009-05-071-21/+86
| | | | | | | | | | | | | | The action state machine now works correctly and has been verified a few hand-picked cases. I am missing automatted tests, though, this is not easy to achive... Anyhow, I've improved omtesting, so that it can be used in such automatted tests.
* | first shot at action state machine implemention (untested)Rainer Gerhards2009-05-071-127/+335
| | | | | | | | | | I am commiting it so that the code is visible, but will no begin with the test environment.