Mirror of Ardour Source Code
Find a file
Robin Gareus 84c51a1411
Fix BaseUI x-thread signal vs thread-start race
Control surfaces c'tor usually subscribe to signals e.g.
PortConnectedOrDisconnected. This happens after the parent BaseUI
is created, but before set_active() -> BaseUI::run() is called.

At this point in time there is no run_loop thread.

There are two options to handle AbstractUI::call_slot():

 A. Queue the event in the event-loop, using the thread-local
    request buffer of the caller. Then hope the BaseUI
    thread is started, and calls ::handle_ui_requests() before
    the memory pool runs out of space.

 B. Handle the event in the calling thread. -- This may not be
    rt-safe and may call functions with locks held by the caller.
    It will however not accumulate events.

This takes approach (B). If _run_loop_thread is NULL, directly
handle the signal.

In the past, prior to 50abcc74b5, approach (A) was taken.
NULL never matched Glib::Threads::Thread::self().

This also reverts a prior attempt (e417495505) to address this issue.
2022-03-02 21:19:12 +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 BaseUI x-thread signal vs thread-start race 2022-03-02 21:19:12 +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
MSVCvst_scan Add/remove source(s) in our MSVC project (vst2_scanner) 2021-07-05 10:25:35 +01:00
nutemp
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