ardour/libs/backends/jack
Paul Davis 3c857a78c6 JACK backend: serialize all jack server calls with a mutex
As was noted in 88ee3af3ea it is unsafe/undefined behavior if two threads
sleep on the JACK request file descriptor, since there is no way to control
which one will wake and process the request. Since each thread may have
sent a different request, this can lead to a thread misinterpreting the
response because it is reading the wrong response.

This may (or may not) solve some subtle problems with JACK, but was
revealed by having a control surface (LaunchPad Pro) that registers
three ports from the butler thread at about the same as the GUI
thread is registering the auditioner. One thread read the wrong
response, and because of some slightly weird code/design, it attempts
to rename the port from within the response handler, which in JACK1
leads to deadlock (and later, zombification).
2023-09-13 09:20:41 -06:00
..
jack_api.cc switch from boost::{shared,weak}_ptr to std::{shared,weak}_ptr 2023-03-24 14:19:15 -06:00
jack_audiobackend.cc JACK backend: serialize all jack server calls with a mutex 2023-09-13 09:20:41 -06:00
jack_audiobackend.h JACK backend: serialize all jack server calls with a mutex 2023-09-13 09:20:41 -06:00
jack_connection.cc Update backend GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
jack_connection.h
jack_portengine.cc JACK backend: serialize all jack server calls with a mutex 2023-09-13 09:20:41 -06:00
jack_session.cc JACK: fix reported tempo & meter when functioning as JACK timebase master 2023-06-12 12:10:26 -06:00
jack_session.h Update backend GPL boilerplate and (C) from git log 2019-08-03 15:53:16 +02:00
jack_utils.cc Resolve some Xcode12 C++11, sigc++ issues 2020-12-12 04:46:22 +01:00
jack_utils.h Add Sun backend option for JACK 2020-03-26 09:58:34 -06:00
weak_libjack.c Update weakjack, alternative macOS libjack paths 2021-06-02 17:42:01 +02:00
weak_libjack.def Provide jack2 compatible implementation for jack1 2022-06-30 17:19:57 +02:00
weak_libjack.h Update weak_libjack - https://github.com/x42/weakjack/ 2021-02-28 16:27:22 +01:00
wscript wscript: drop unnecessary trailing ";" 2022-04-09 12:16:41 +02:00