13
0
Go to file
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
doc
gtk2_ardour Config isn't editable 2021-05-08 19:19:16 +02:00
headless use Session::request_roll() instead of request_transport_speed (1.0, ...) 2021-04-19 16:14:08 -06:00
libs Fix export race condition (and crash) 2021-05-08 23:29:49 +02:00
luasession Consistency: replace "x-run" with "xrun" (1/2) 2021-02-26 22:22:08 +01:00
msvc_extra_headers Emulate exp2f() for older MS compilers where it wasn't available 2021-05-05 17:50:41 +01:00
MSVCardour3 Add/remove source(s) in our MSVC project (gtk2_ardour) 2021-04-17 11:22:11 +01:00
MSVCMixbus3
MSVCvst_scan Correct a typo in my MSVC project file (vst3_scan) 2020-10-16 11:30:00 +01:00
nutemp
session_utils Bail out if export cannot be started 2020-12-08 01:10:00 +01:00
share Avoid regex convention in script documentation 2021-05-08 00:35:31 +02:00
tools Update compile.sh 2021-05-07 16:25:21 -06:00
vst
.dir-locals.el
.gitattributes
.gitignore Ignore generaed translation files 2020-10-18 17:45:32 +02:00
ardour.1
COPYING
instant.xml.sae
msvc32-fixup.pl
PACKAGER_README
README Directly use HTTPS 2021-03-23 23:27:45 +01:00
README-GITHUB.txt
system_config
testfile.flac
testfile.ogg
TRANSLATORS
waf
wscript Correctly detect glib volatile atomic 2021-03-30 15:29:53 +02:00

Please see the Ardour web site at https://ardour.org/ for all documentation..

For information on building ardour: 
      
     https://ardour.org/development.html