Log Message: |
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).
|