summaryrefslogtreecommitdiff
path: root/libs/ardour/graph.cc
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2019-07-10 20:19:53 +0200
committerRobin Gareus <robin@gareus.org>2019-07-10 20:20:44 +0200
commit57c3eaacf6a9b3db4c15961f51b94bba2db35771 (patch)
treef732cf45de3dfbe9a8ff426c6ccf7a905ceaeb19 /libs/ardour/graph.cc
parente8c2e43dc411b656bdb8e65aec54ed543db071f7 (diff)
Fix process-thread naming
Diffstat (limited to 'libs/ardour/graph.cc')
-rw-r--r--libs/ardour/graph.cc20
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();