From 94bbe01b1a608fa49622728cd65681d50ca72b69 Mon Sep 17 00:00:00 2001 From: "Steinar H. Gunderson" Date: Wed, 6 Mar 2019 18:51:31 +0100 Subject: [PATCH] Give the ALSA threads names. Patch by Yann Dubreuil, from the BreizhCamp repository. --- nageru/alsa_input.cpp | 8 ++++++++ nageru/alsa_input.h | 1 + 2 files changed, 9 insertions(+) diff --git a/nageru/alsa_input.cpp b/nageru/alsa_input.cpp index 40fba43..511dda9 100644 --- a/nageru/alsa_input.cpp +++ b/nageru/alsa_input.cpp @@ -174,6 +174,14 @@ void ALSAInput::stop_capture_thread() void ALSAInput::capture_thread_func() { + if (!done_init) { + char thread_name[16]; + snprintf(thread_name, sizeof(thread_name), "ALSA_C_%d", internal_dev_index); + pthread_setname_np(pthread_self(), thread_name); + + done_init = true; + } + parent_pool->set_card_state(internal_dev_index, ALSAPool::Device::State::STARTING); // If the device hasn't been opened already, we need to do so diff --git a/nageru/alsa_input.h b/nageru/alsa_input.h index 825d4b6..22420b9 100644 --- a/nageru/alsa_input.h +++ b/nageru/alsa_input.h @@ -48,6 +48,7 @@ public: static bool set_base_params(const char *device_name, snd_pcm_t *pcm_handle, snd_pcm_hw_params_t *hw_params, unsigned *sample_rate); private: + bool done_init = false; void capture_thread_func(); enum class CaptureEndReason { -- 2.39.2