13
0

Fix process-thread naming

This commit is contained in:
Robin Gareus 2019-07-10 20:19:53 +02:00
parent e8c2e43dc4
commit 57c3eaacf6
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 21 additions and 7 deletions

View File

@ -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();

View File

@ -624,13 +624,7 @@ LuaProc::connect_and_run (BufferSet& bufs,
Plugin::connect_and_run (bufs, start, end, speed, in, out, nframes, offset);
// This is needed for ARDOUR::Session requests :(
if (! SessionEvent::has_per_thread_pool ()) {
char name[64];
snprintf (name, 64, "Proc-%p", this);
pthread_set_name (name);
SessionEvent::create_per_thread_pool (name, 64);
PBD::notify_event_loops_about_thread_creation (pthread_self(), name, 64);
}
assert (SessionEvent::has_per_thread_pool ());
uint32_t const n = parameter_count ();
for (uint32_t i = 0; i < n; ++i) {