Parent Directory | Revision Log
Links to HEAD: | (view) (download) (annotate) |
Sticky Revision: |
Fixed deadlocks (e.g. when restarting engines). * Individual thread implementations (e.g. disk thread, etc.): Disable thread cancellation on critical sections, e.g. when holding mutex locks, to prevent deadlocks if thread is stopped and/or restarted. * Added TestCancel() calls to thread implementations if missing. * No need to wrap Thread::TestCancel() calls into CONFIG_PTHREAD_TESTCANCEL macro conditions (since TestCancel() is already a stub on systems which don't have pthread_testcancel() available). * If compiled for debugging: give each thread a human readable name to simplify debugging of multi-threading issues. * DiskThreadBase: TestCancel() and pthread_testcancel() calls are per-se redundant, so only call TestCancel(). * Added missing override keywords to silent compiler warnings. * Bumped version (2.1.1.svn54).
* Test cases: Fixed thread tests segfaulting on Linux.
* added a new config option --enable-pthread-testcancel, which uses pthread_testcancel() instead of asynchronous canceling (needed for OSX)
* fixed several issues in fundamental "Thread" class: set scheduling policy and priority on thread level, set a minimum stack size for thread (TODO: a reasonable value yet to be tested), bugfix: non-RT threads simply inherited properties of starting thread instead of setting their own policy and priority * updated and fixed test cases (haven't been touched in a while, but are now all running successfully through all cases)
* updated unit tests
* src/linuxsampler.cpp: tidied up a bit, "initialization completed" message shown only after the server is actually running * src/testcases/: print the name of each test suite before running the tests of the suite, added first tests against the LSCP server using a socket connection to the LSCP server (tests for the following LSCP commands: "ADD CHANNEL", "GET CHANNELS", "REMOVE CHANNEL")
* src/common/Thread.cpp: threads are now stoppable even if they are waiting for a condition * src/common/Condition.cpp: fixed little misbehavior of Set() method, which locked the Condition object on return * src/testcases: added a couple of new unit tests (against classes 'Mutex', 'Condition' and 'Thread')
* src/common/Thread.cpp: method StartThread() now blocks until thread actually runs, mlockall() will only be applied for realtime threads * libtoolized liblinuxsampler * initiated automatic unit tests against the LinuxSampler codebase (see src/testcases): already added a couple of tests for the Thread and Mutex classes, you have to explicitly compile the unit tests by running 'make testcases' (you need to have cppunit installed though) and then you can run the console version of the test runner by calling 'src/testcases/linuxsamplertest' * src/Sampler.h: added API documentation
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC |