Add a ReaderLock to Route::process_output_buffers(). But process_output_buffers() is always called with processor-lock held. To avoid deadlocks, a processor WriterLock must always imply a process-lock (IFF reconfigure-I/O is called with _processor_lock). Otherwise: e.g. * add_processor() -> takes processor-lock. set up and activate processor. * simult. audio-engine process, process-lock -> call process_output_buffers() -> wait for processor-lock * add_processor() continues -> calls reconfigure-io -> take process-lock -> deadlock. |
||
---|---|---|
doc | ||
export | ||
gtk2_ardour | ||
icons | ||
libs | ||
mcp | ||
midi_maps | ||
patches | ||
patchfiles | ||
templates | ||
tools | ||
vst | ||
.dir-locals.el | ||
.gitignore | ||
ardour_system_sae.rc | ||
ardour_system.rc | ||
ardour-3.ttl | ||
ardour.1 | ||
ardour.1.es | ||
ardour.1.fr | ||
ardour.1.ru | ||
ardour.dox | ||
COPYING | ||
instant.xml | ||
instant.xml.sae | ||
Makefile | ||
PACKAGER_README | ||
README | ||
testfile.flac | ||
testfile.ogg | ||
TRANSLATORS | ||
waf | ||
wscript |
Please see the Ardour web site at http://ardour.org/ for all documentation.. For information on building ardour: http://ardour.org/development.html