summaryrefslogtreecommitdiffstats
path: root/runtime/atomic.h
Commit message (Collapse)AuthorAgeFilesLines
* bugfix: replacements for atomic operations for non-int sized types had problems.Rainer Gerhards2010-11-251-3/+42
| | | | | At least one instance of that problem could potentially lead to abort (inside omfile).
* added missing support for systems without atomic instructionsRainer Gerhards2010-06-241-0/+15
|
* added support for high-performance action queue submission if not all mark ↵Rainer Gerhards2010-06-081-1/+1
| | | | | | | | | | messages should be logged this was previously not properly handeld. This is also the first occurence of a (real) CAS loop inside rsyslog. Note that the performance is now very well in the default configuration, and mark message directives are still correctly being handled. So this code looks close to final, but needs to have some bug cleanup as the testsuite shows.
* bugfix: regression caused more locking action in msg.c than necessaryRainer Gerhards2010-06-081-2/+11
| | | | also: bugfix: mutexes used to similate atomic instructions were not destructed
* fixed recent regression: did not compile on systems with atomic instructionsRainer Gerhards2010-04-291-1/+1
|
* adapted new atomic instruction emulation to v5 engineRainer Gerhards2010-04-271-7/+22
| | | | code did not compile after merge from v4
* Merge branch 'v4-devel' into masterRainer Gerhards2010-04-271-129/+72
|\ | | | | | | | | | | | | | | | | | | | | | | Conflicts: runtime/Makefile.am runtime/atomic.h runtime/queue.c runtime/queue.h runtime/wti.c runtime/wti.h runtime/wtp.c runtime/wtp.h
| * bugfix: problems with atomic operations emulationRainer Gerhards2010-04-271-129/+71
| | | | | | | | | | | | 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.
* | Merge branch 'v4-devel' into masterRainer Gerhards2010-04-231-2/+0
|\| | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html
| * minor fix: invalid duplicated include of config.hRainer Gerhards2010-04-231-2/+0
| |
| * added replacements for atomic instructions on systems that do not support them.Rainer Gerhards2010-03-231-0/+117
| | | | | | | | [backport of Stefen Sledz' patch for v5]
* | Merge branch 'master-solaris'Rainer Gerhards2010-03-231-0/+3
|\ \
| * | Merge branch 'v4-stable-solaris' into master-solarisRainer Gerhards2010-03-051-0/+3
| |\| | | | | | | | | | | | | | | | | | | | | | Conflicts: ChangeLog configure.ac doc/manual.html tests/rt-init.c
| | * enabled compilation by using "racy" replacements for atomic instructionsRainer Gerhards2010-03-051-0/+3
| | | | | | | | | | | | | | | | | | ... but this is not considered a real solution. For some of the uses, it may acutally be sufficient, but the implications need to be analyzed in detail.
| | * backported "clean" increment of memory trim counter (not protected by mutex)Rainer Gerhards2009-06-251-0/+1
| | |
* | | emulate missing atomic builtins with posix semaphores if availableSteffen Sledz2010-03-231-0/+117
|/ / | | | | | | | | Signed-off-by: Steffen Sledz <sledz@dresearch.de> Acked-by: Thilo Fromm <t.fromm@dresearch.de>
* | removed mutex locksRainer Gerhards2009-07-171-1/+0
| | | | | | | | | | ... by utilizing that we need to modify a state variable only in a sequential way during shutdown.
* | bugfix: subtle synchronization issueRainer Gerhards2009-06-251-0/+3
|/ | | | | | This may have caused a segfault under strange circumstances (but if we just run long enough with a high enough message volume, even the strangest circumstances will occur...)
* some memory accesses are now explicitely atomicRainer Gerhards2009-06-251-0/+5
| | | | | ... as far as I think this mostly is to keep the thread debuggers happy
* Merge branch 'beta'Rainer Gerhards2009-01-301-0/+7
|\
| * added info if atomic ops are available to rsyslogd -v outputRainer Gerhards2009-01-301-0/+7
| |
| * bugfix: inconsistent use of mutex/atomic operations could cause segfaultRainer Gerhards2009-01-301-1/+1
| | | | | | | | | | details are too many, for full analysis see blog post at: http://blog.gerhards.net/2009/01/rsyslog-data-race-analysis.html
* | fixed atomic operationsRainer Gerhards2009-01-291-1/+1
| |
* | moved bParseHostname and bIsParsed to msgFlagsRainer Gerhards2008-10-091-0/+2
|/ | | | | | 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.
* bugfix: proper synchronization on message destructionRainer Gerhards2008-09-191-0/+1
| | | | | The code was potentially race, at least on systems where a memory barrier was needed. Fix not fully tested yet.
* bugfix: potential race condition when adding messages to queueRainer Gerhards2008-09-181-2/+6
| | | | | | | 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 ;)
* re-enabled gcc builtin atomic operations and added a proper ./configure checkRainer Gerhards2008-09-181-9/+9
|
* moved files to the runtimeRainer Gerhards2008-04-161-0/+51
there are still some files left which could go into the runtime, but I think we will delete most of them once we are done with the full modularization.