summaryrefslogtreecommitdiffstats
path: root/runtime/wtp.h
Commit message (Collapse)AuthorAgeFilesLines
* adapted new atomic instruction emulation to v5 engineRainer Gerhards2010-04-271-2/+2
| | | | code did not compile after merge from v4
* Merge branch 'v4-devel' into masterRainer Gerhards2010-04-271-0/+3
|\ | | | | | | | | | | | | | | | | | | | | | | 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-0/+3
| | | | | | | | | | | | 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.
* | new queue engine - initial commit (probably not 100% working!)Rainer Gerhards2009-10-141-10/+0
| | | | | | | | | | | | | | | | | | | | 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.
* | bugfix: minor static memory leak while reading configurationRainer Gerhards2009-07-201-0/+1
| | | | | | | | | | This did NOT leak based on message volume. Also, did some cleanup during the commit.
* | more cleanup/simplification (forgot to remove one mutex lock)Rainer Gerhards2009-07-201-1/+0
| |
* | some more threading changesRainer Gerhards2009-07-201-1/+0
| | | | | | | | ... as well as some cleanup
* | cleanup: removed no longer needed codeRainer Gerhards2009-07-201-2/+0
| |
* | removed mutex locksRainer Gerhards2009-07-171-2/+2
| | | | | | | | | | ... by utilizing that we need to modify a state variable only in a sequential way during shutdown.
* | further code simplificationRainer Gerhards2009-07-171-10/+3
| | | | | | | | | | | | | | | | | | ... could even remove one mutex by using a better algorithm. I think I also spotted some situation in which a hang could have happened. As I can't fix it in v4 and less without moving to the new engine, I make no effort in testing this out. Hangs occur during shutdown, only (if at all). The code changes should also result in some mild performance improvement. Some bug potential, but overall the bug potential should have been greatly reduced.
* | more code simplification, should also bring some performance enhancementRainer Gerhards2009-07-171-2/+2
| | | | | | | | reducing the number of thread cancellation state changes
* | some code simplificationRainer Gerhards2009-07-161-3/+2
| |
* | further reduction in code size/complexity due to design changeRainer Gerhards2009-07-081-4/+0
| |
* | simplified worker thread handlingRainer Gerhards2009-07-081-1/+1
| | | | | | | | | | based on now working with detached threads. This is probably the biggest patch in this series and with large bug potential.
* | Merge branch 'omfile' into tmpRainer Gerhards2009-06-221-2/+1
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * removed uniprocessor optimizationRainer Gerhards2009-06-191-2/+1
| | | | | | | | | | | | ... 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).
* | interim commit: working on failure casesRainer Gerhards2009-05-271-0/+2
| | | | | | | | slightly improved situation, would like to save it before carrying on
* | free last processed message in all casesRainer Gerhards2009-05-201-4/+4
| | | | | | | | | | | | | | | | | | so far, the last processed message was only freed when the next one was processed. This has been changed now. More precisely, a better algorithm has been selected for the queue worker process, which also involves less overhead than the previous one. The fix for "free last processed message" as then more or less a side-effect (easy to do) of the new algorithm.
* | added $MainMsgQueueDequeueBatchSize and $ActionQueueDequeueBatchSize ↵Rainer Gerhards2009-04-231-2/+2
| | | | | | | | configuration directives
* | first attempt at dequeueing multiple batches inside the queueRainer Gerhards2009-04-221-1/+3
|/ | | | | | ... but this code has serious problems when terminating the queue, also it is far from being optimal. I will commit a series of patches (hopefully) as I am on the path to the final implementation.
* Merge branch 'dapatch'Rainer Gerhards2009-03-251-0/+1
|\
| * bugfix: potential abort with DA queue after high watermark is reachedRainer Gerhards2009-03-251-0/+1
| | | | | | | | | | | | There exists a race condition that can lead to a segfault. Thanks go to vbernetr, who performed the analysis and provided patch, which I only tweaked a very little bit.
* | added a setting "$OptimizeForUniprocessor"Rainer Gerhards2008-10-221-0/+1
|/ | | | | | ...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)
* moved runtime files into their own directoryRainer Gerhards2008-04-161-0/+119