Robin Gareus
de819e579a
The backend may call update_latency() while at the same time the auto-connect-port calls set_worst_io_latencies(). The latter already holds the process-lock, so update_latency() first needs to acquire it, as well. If one already holds the _update_latency_lock, one must not ask for the process-lock. --- Previously Ardour's connection manager first took the process_lock and then waited to the _update_latency_lock. Meanwhile jack calls latency_callback(), takes the _update_latency_lock and waits for the process_lock. Classic deadlock. |
||
---|---|---|
.. | ||
appleutility | ||
ardour | ||
ardouralsautil | ||
audiographer | ||
backends | ||
canvas | ||
clearlooks-newer | ||
evoral | ||
fluidsynth | ||
fst | ||
gtkmm2ext | ||
hidapi | ||
libltc | ||
lua | ||
midi++2 | ||
panners | ||
pbd | ||
plugins | ||
ptformat | ||
qm-dsp | ||
surfaces | ||
temporal | ||
vamp-plugins | ||
vamp-pyin | ||
vfork | ||
waveview | ||
widgets | ||
zita-convolver | ||
zita-resampler |