13
0
livetrax/libs
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
..
appleutility
ardour Safeguard stripable_list_to_control_list API 2023-09-13 00:28:57 +02:00
ardouralsautil ALSA: disambiguate multiple soundcards with the same name 2023-07-02 00:17:58 +02:00
audiographer Fix shaped dither (#9342) 2023-05-22 04:50:19 +02:00
auscan
backends JACK backend: serialize all jack server calls with a mutex 2023-09-13 09:20:41 -06:00
canvas Fix canvas rectangle bounding box 2023-09-07 02:45:26 +02:00
clearlooks-newer
ctrl-interface push2: remove debug output 2023-09-08 14:57:07 -06:00
evoral domain swaps for MIDI CC and other controls 2023-08-16 09:06:10 -06:00
fluidsynth
fst Fix cross-compile linking (libusb - see also 5794d21a76) 2023-05-04 21:31:13 +02:00
gtkmm2ext libpbd/guis: move __invalidator() into PBD::EventLoop 2023-08-30 16:06:14 -06:00
hidapi
libltc
lua Lua: allow to reserve STL vector size 2023-07-12 18:23:51 +02:00
midi++2 Fix various MMC commands, set request-source 2023-06-04 01:15:02 +02:00
panners
pbd libpbd: tweak for printing pthread ID (windows is int/*nix is ptr) 2023-08-31 10:34:48 -06:00
plugins Fix another lv2core header include 2023-05-07 01:41:01 +02:00
ptformat
qm-dsp
surfaces align launchpad pro surface protocol name 2023-09-11 17:02:46 -06:00
temporal temporal: remove concept of inactive tempos 2023-09-11 10:26:54 -06:00
vamp-plugins
vamp-pyin
vfork Fix vfork wrapper for macOS 2023-03-25 07:46:47 +01:00
vst3
waveview
widgets Add icon for the Grid tool 2023-09-06 19:13:59 +02:00
zita-convolver
zita-resampler