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. |
||
---|---|---|
doc | ||
gtk2_ardour | ||
headless | ||
libs | ||
luasession | ||
msvc_extra_headers | ||
MSVCardour3 | ||
MSVCMixbus3 | ||
MSVCvst_scan | ||
session_utils | ||
share | ||
tools | ||
.dir-locals.el | ||
.gitattributes | ||
.gitignore | ||
ardour.1 | ||
COPYING | ||
nutempo-todo | ||
PACKAGER_README | ||
README | ||
README-GITHUB.txt | ||
system_config | ||
TRANSLATORS | ||
waf | ||
wscript |
Please see the Ardour web site at https://ardour.org/ for all documentation.. For information on building ardour: https://ardour.org/development.html