Mirror of Ardour Source Code
Find a file
Robin Gareus e33d131174
Fix deadlock when creating VCAs
VCAManager::create_vca sets PI::order while holding the
VCAManager:lock mutex. PI order changes emit a "changed" signal
which in turn can result in querying a list of all strips
(reassign_track_numbers) which requires the VCA mutex:

See also 729ff35faf

```
#2  Glib::Threads::Mutex::Lock::Lock(Glib::Threads::Mutex&) (this=0x7fffffffb070, mutex=...) at /usr/include/glibmm-2.4/glibmm/threads.h:687
#3  ARDOUR::VCAManager::vcas[abi:cxx11]() const (this=0x5555599b6d10) at ../libs/ardour/vca_manager.cc:77
#4  ARDOUR::Session::get_stripables(std::__cxx11::list<boost::shared_ptr<ARDOUR::Stripable>, std::allocator<boost::shared_ptr<ARDOUR::Stripable> > >&, ARDOUR::PresentationInfo::Flag) const (this=0x55555bf03910, sl=std::__cxx11::list = {...}, fl=127) at ../libs/ardour/session.cc:3949
#5  ARDOUR::Session::ensure_stripable_sort_order() (this=0x55555bf03910) at ../libs/ardour/session.cc:2634
#6  ARDOUR::Session::notify_presentation_info_change(PBD::PropertyChange const&) (this=0x55555bf03910, what_changed=...) at ../libs/ardour/session.cc:7016
[ .. connect same thread ..]
#13 ARDOUR::PresentationInfo::send_static_change(PBD::PropertyChange const&) (what_changed=...) at ../libs/ardour/presentation_info.cc:113
#14 ARDOUR::PresentationInfo::set_order(unsigned int) (this=0x5555619ceca0, order=5) at ../libs/ardour/presentation_info.cc:288
#15 ARDOUR::Stripable::set_presentation_order(unsigned int) (this=0x5555619ce8a0, order=5) at ../libs/ardour/stripable.cc:55
#16 ARDOUR::VCAManager::create_vca(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)
    (this=0x5555599b6d10, howmany=1, name_template="VCA %n") at ../libs/ardour/vca_manager.cc:105
```
2022-03-03 17:43:37 +01:00
doc Update source-tree layout 2022-02-03 14:47:24 +01:00
gtk2_ardour Don't allow dropdown scroll for patch-banks 2022-03-02 18:26:23 +01:00
headless wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
libs Fix deadlock when creating VCAs 2022-03-03 17:43:37 +01:00
luasession wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +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 (libardour and gtk2_ardour) 2021-07-19 11:27:02 +01:00
MSVCMixbus3 Initial changes needed for building Mixbus (with MSVC) as version 5 2018-09-10 07:14:59 +01:00
MSVCvst_scan Add/remove source(s) in our MSVC project (vst2_scanner) 2021-07-05 10:25:35 +01:00
nutemp additional changes to follow library name change from timecode -> temporal 2017-09-25 12:13:54 -04:00
session_utils wscript: drop configure statements already present in the top level wscript 2022-01-22 22:19:03 +01:00
share Rename file extension to get Akai MPK249 map to be picked up by waf 2022-03-01 23:11:46 +01:00
tools Fix bundling 3rd party content with windows binaries 2022-03-01 04:14:20 +01:00
.dir-locals.el
.gitattributes
.gitignore Ignore generaed translation files 2020-10-18 17:45:32 +02:00
ardour.1 Update man-page 2020-07-06 21:36:12 +02:00
COPYING
instant.xml.sae
msvc32-fixup.pl Build 'ardour-vst3-scanner.exe' with MSVC 2020-09-22 12:15:09 +01:00
nutempo-todo todo list text for nutempo-related tasks 2021-08-16 13:41:49 -06:00
PACKAGER_README
README Directly use HTTPS 2021-03-23 23:27:45 +01:00
README-GITHUB.txt
system_config
testfile.flac
testfile.ogg
TRANSLATORS add text to TRANSLATORS file explaining how contextual translation msgids work and should be translated 2020-05-20 14:40:10 -06:00
waf Update waf binary, using doc/updating_waf.txt 2022-01-09 18:46:24 +01:00
wscript wscript: improve configure messages slightly 2022-01-22 22:19:07 +01:00

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

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