88bd2115a03249a08e2f686144d9a512d008f22d
Play loop, change loop-location, undo. Undo calls Locations::set_state, takes a writer-lock, and calls Location::set_state which emits a Changed signal. This triggers Editor::location_changed, and if loop-location changed while looping, update_loop_range_view() queries the loop location, taking a reader-lock. This leads to a recursive lock, RWLock::ReaderLock after a RWLock::WriterLock does not cause a deadlock, however releasing the ReaderLock effectively also unlocks the WriterLock. This leads to a deadlock next time a writer-lock is acquired.
Please see the Ardour web site at https://ardour.org/ for all documentation..
For information on building ardour:
https://ardour.org/development.html
Description
Languages
C++
56.5%
C
39.6%
JavaScript
1.3%
Lua
0.9%
Python
0.6%
Other
0.9%