diff options
author | Robin Gareus <robin@gareus.org> | 2019-07-10 20:19:53 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2019-07-10 20:20:44 +0200 |
commit | 57c3eaacf6a9b3db4c15961f51b94bba2db35771 (patch) | |
tree | f732cf45de3dfbe9a8ff426c6ccf7a905ceaeb19 /libs/ardour/graph.cc | |
parent | e8c2e43dc411b656bdb8e65aec54ed543db071f7 (diff) |
Fix process-thread naming
Diffstat (limited to 'libs/ardour/graph.cc')
-rw-r--r-- | libs/ardour/graph.cc | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/libs/ardour/graph.cc b/libs/ardour/graph.cc index 0389b2ef1a..0c59b0f7c7 100644 --- a/libs/ardour/graph.cc +++ b/libs/ardour/graph.cc @@ -428,6 +428,16 @@ Graph::run_one() void Graph::helper_thread() { + /* This is needed for ARDOUR::Session requests called from rt-processors + * in particular Lua scripts may do cross-thread calls */ + if (! SessionEvent::has_per_thread_pool ()) { + char name[64]; + snprintf (name, 64, "RT-%p", this); + pthread_set_name (name); + SessionEvent::create_per_thread_pool (name, 64); + PBD::notify_event_loops_about_thread_creation (pthread_self(), name, 64); + } + suspend_rt_malloc_checks (); ProcessThread* pt = new ProcessThread (); resume_rt_malloc_checks (); @@ -450,6 +460,16 @@ Graph::main_thread() { suspend_rt_malloc_checks (); ProcessThread* pt = new ProcessThread (); + + /* This is needed for ARDOUR::Session requests called from rt-processors + * in particular Lua scripts may do cross-thread calls */ + if (! SessionEvent::has_per_thread_pool ()) { + char name[64]; + snprintf (name, 64, "RT-main-%p", this); + pthread_set_name (name); + SessionEvent::create_per_thread_pool (name, 64); + PBD::notify_event_loops_about_thread_creation (pthread_self(), name, 64); + } resume_rt_malloc_checks (); pt->get_buffers(); |