ardour/libs
Robin Gareus 79bf025862
Fix export race condition (and crash)
Previously the freewheel export thread directly called
Session::butler_transport_work(). The butler thread
may concurrently call the same function. This can lead
double free or memory corruption (see below)

Now export thread summons the butler and does nothing
until it completed its work.

```
Export Thread:
3   XMLNode::~XMLNode
4   ARDOUR::AutomationList::snapshot_history
5   ARDOUR::AutomationList::start_write_pass
6   ARDOUR::Automatable::non_realtime_locate
7   ARDOUR::Route::non_realtime_locate
8   ARDOUR::Session::non_realtime_locate
9   ARDOUR::Session::butler_transport_work
10  ARDOUR::Session::process_export_fw

Butler thread:
7   XMLNode::~XMLNode
8   ARDOUR::AutomationList::snapshot_history
9   ARDOUR::AutomationList::start_write_pass
10  ARDOUR::Automatable::non_realtime_locate
11  ARDOUR::Route::non_realtime_locate
12  ARDOUR::Session::non_realtime_locate
13  ARDOUR::Session::butler_transport_work
14  ARDOUR::Butler::thread_work
15  ARDOUR::Butler::_thread_work
```
2021-05-08 23:29:49 +02:00
..
appleutility
ardour Fix export race condition (and crash) 2021-05-08 23:29:49 +02:00
ardouralsautil Fix C function prototypes 2020-12-01 12:08:09 +01:00
audiographer Fix realtime export loudness normalization 2021-04-29 19:05:09 +02:00
backends Remove unused #include<> (2/2) 2021-05-05 17:57:16 +02:00
canvas Remove unused #include<> (2/2) 2021-05-05 17:57:16 +02:00
clearlooks-newer
evoral Evoral: add methods to SMF to load and access markers/cues in SMF files 2021-05-07 14:58:16 -06:00
fluidsynth Update to fluidsynth-2.2 2021-04-18 22:02:57 +02:00
fst Fix typo in vst3-scanner --help text 2021-01-23 23:43:14 +01:00
gtkmm2ext Remove unused #include<> (2/2) 2021-05-05 17:57:16 +02:00
hidapi
libltc
lua Fix Lua bindings for C++17/C++20 -- #8683 2021-05-02 16:36:30 +02:00
midi++2 Remove unused #include<> (2/2) 2021-05-05 17:57:16 +02:00
panners Micro-optimization: pre-calculate pan-law 2021-01-18 16:14:16 +01:00
pbd Fix incorrect port lists due to custom sort 2021-05-07 04:24:32 +02:00
plugins a-delay: BPM is independent of the meter (quarter notes / min) 2021-03-28 18:23:07 +02:00
ptformat ptformat: Update to upstream 232ba25 2021-01-17 13:19:54 +11:00
qm-dsp
surfaces copy over (boo!) transport control changes to BasicUI (control surfaces) 2021-05-08 09:20:21 -06:00
temporal Fix normalization in Temporal::Beats for times between -1 and 0 beats 2020-11-18 13:40:31 -07:00
vamp-plugins Export analysis: log loudness / time 2021-04-07 01:46:02 +02:00
vamp-pyin
vfork
vst3 Backport VST3 diagnostic pragma 2021-03-01 22:14:38 +01:00
waveview Remove unused #include<> (2/2) 2021-05-05 17:57:16 +02:00
widgets Prevent invalid frame/child size allocation 2021-05-08 14:36:43 +02:00
zita-convolver zita-convolver: fix hang at when re-loading state 2021-03-30 01:29:28 +02:00
zita-resampler