/[svn]
ViewVC logotype

Revision 3766


Jump to revision: Previous Next
Author: schoenebeck
Date: Mon Apr 6 12:41:49 2020 UTC (4 years ago)
Changed paths: 18
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).


Changed paths

Path Details
Directorylinuxsampler/trunk/configure.ac modified , text changed
Directorylinuxsampler/trunk/src/common/WorkerThread.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/Plugin.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/audio/AudioOutputDeviceAlsa.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/audio/AudioOutputDeviceAlsa.h modified , text changed
Directorylinuxsampler/trunk/src/drivers/audio/AudioOutputDeviceArts.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/audio/AudioOutputDeviceCoreAudio.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/midi/MidiInputDeviceAlsa.cpp modified , text changed
Directorylinuxsampler/trunk/src/drivers/midi/MidiInputDeviceAlsa.h modified , text changed
Directorylinuxsampler/trunk/src/engines/InstrumentManagerThread.cpp modified , text changed
Directorylinuxsampler/trunk/src/engines/common/DiskThreadBase.h modified , text changed
Directorylinuxsampler/trunk/src/linuxsampler.cpp modified , text changed
Directorylinuxsampler/trunk/src/network/lscpserver.cpp modified , text changed
Directorylinuxsampler/trunk/src/plugins/InstrumentEditor.cpp modified , text changed
Directorylinuxsampler/trunk/src/shell/KeyboardReader.cpp modified , text changed
Directorylinuxsampler/trunk/src/shell/LSCPClient.cpp modified , text changed
Directorylinuxsampler/trunk/src/testcases/ConditionTest.cpp modified , text changed
Directorylinuxsampler/trunk/src/testcases/ThreadTest.cpp modified , text changed

  ViewVC Help
Powered by ViewVC