From dff8979e98cd8515bb563cd4a458245fa2e51bd8 Mon Sep 17 00:00:00 2001 From: kirkscheper Date: Thu, 26 Apr 2018 14:53:20 +0200 Subject: [PATCH] add thread name to most pthreads --- sw/airborne/arch/linux/mcu_periph/sys_time_arch.c | 7 ++++--- sw/airborne/arch/linux/mcu_periph/uart_arch.c | 1 + sw/airborne/arch/linux/mcu_periph/udp_arch.c | 1 + sw/airborne/boards/ardrone/navdata.c | 1 + sw/airborne/boards/swing/baro_board.c | 1 + sw/airborne/boards/swing/board.c | 2 ++ sw/airborne/modules/computer_vision/cv.c | 2 +- sw/airborne/modules/computer_vision/video_thread.c | 1 + sw/airborne/modules/sonar/sonar_bebop.c | 7 +++---- 9 files changed, 15 insertions(+), 8 deletions(-) diff --git a/sw/airborne/arch/linux/mcu_periph/sys_time_arch.c b/sw/airborne/arch/linux/mcu_periph/sys_time_arch.c index 843464a95e9..185e5744237 100644 --- a/sw/airborne/arch/linux/mcu_periph/sys_time_arch.c +++ b/sw/airborne/arch/linux/mcu_periph/sys_time_arch.c @@ -39,7 +39,6 @@ #define SYS_TIME_THREAD_PRIO 29 #endif -pthread_t sys_time_thread; static struct timespec startup_time; static void sys_tick_handler(void); @@ -78,7 +77,7 @@ void *sys_time_thread_main(void *data) unsigned long long missed; /* Wait for the next timer event. If we have missed any the number is written to "missed" */ - int r = read(fd, &missed, sizeof(missed)); + int r = read(fd, &missed, sizeof(missed)); if (r == -1) { perror("Couldn't read timer!"); } @@ -98,11 +97,13 @@ void sys_time_arch_init(void) clock_gettime(CLOCK_MONOTONIC, &startup_time); - int ret = pthread_create(&sys_time_thread, NULL, sys_time_thread_main, NULL); + pthread_t tid; + int ret = pthread_create(&tid, NULL, sys_time_thread_main, NULL); if (ret) { perror("Could not setup sys_time_thread"); return; } + pthread_setname_np(tid, "pprz_sys_time_thread"); } static void sys_tick_handler(void) diff --git a/sw/airborne/arch/linux/mcu_periph/uart_arch.c b/sw/airborne/arch/linux/mcu_periph/uart_arch.c index 01385a8900e..6c3df060cf6 100644 --- a/sw/airborne/arch/linux/mcu_periph/uart_arch.c +++ b/sw/airborne/arch/linux/mcu_periph/uart_arch.c @@ -60,6 +60,7 @@ void uart_arch_init(void) fprintf(stderr, "uart_arch_init: Could not create UART reading thread.\n"); return; } + pthread_setname_np(tid, "pprz_uart_thread"); } static void *uart_thread(void *data __attribute__((unused))) diff --git a/sw/airborne/arch/linux/mcu_periph/udp_arch.c b/sw/airborne/arch/linux/mcu_periph/udp_arch.c index 300c038a937..44c6613fd32 100644 --- a/sw/airborne/arch/linux/mcu_periph/udp_arch.c +++ b/sw/airborne/arch/linux/mcu_periph/udp_arch.c @@ -60,6 +60,7 @@ void udp_arch_init(void) fprintf(stderr, "udp_arch_init: Could not create UDP reading thread.\n"); return; } + pthread_setname_np(tid, "pprz_udp_thread"); } /** diff --git a/sw/airborne/boards/ardrone/navdata.c b/sw/airborne/boards/ardrone/navdata.c index 0f6eeadee2e..870a16d32e9 100644 --- a/sw/airborne/boards/ardrone/navdata.c +++ b/sw/airborne/boards/ardrone/navdata.c @@ -236,6 +236,7 @@ bool navdata_init() printf("[navdata] Could not create navdata reading thread!\n"); return false; } + pthread_setname_np(navdata_thread, "pprz_navdata_thread"); #if PERIODIC_TELEMETRY register_periodic_telemetry(DefaultPeriodic, PPRZ_MSG_ID_ARDRONE_NAVDATA, send_navdata); diff --git a/sw/airborne/boards/swing/baro_board.c b/sw/airborne/boards/swing/baro_board.c index 4caeae92e29..74993241f12 100644 --- a/sw/airborne/boards/swing/baro_board.c +++ b/sw/airborne/boards/swing/baro_board.c @@ -81,6 +81,7 @@ void baro_init(void) if (pthread_create(&baro_thread, NULL, baro_read, NULL) != 0) { printf("[swing_board] Could not create baro reading thread!\n"); } + pthread_setname_np(baro_thread, "pprz_baro_thread"); } diff --git a/sw/airborne/boards/swing/board.c b/sw/airborne/boards/swing/board.c index 1e982ad8fd6..aa4af47e097 100644 --- a/sw/airborne/boards/swing/board.c +++ b/sw/airborne/boards/swing/board.c @@ -116,12 +116,14 @@ void board_init(void) if (pthread_create(&bat_thread, NULL, bat_read, NULL) != 0) { printf("[swing_board] Could not create battery reading thread!\n"); } + pthread_setname_np(bat_thread, "pprz_bat_thread"); /* Start button reading thread */ pthread_t button_thread; if (pthread_create(&button_thread, NULL, button_read, NULL) != 0) { printf("[swing_board] Could not create button reading thread!\n"); } + pthread_setname_np(button_thread, "pprz_button_thread"); } diff --git a/sw/airborne/modules/computer_vision/cv.c b/sw/airborne/modules/computer_vision/cv.c index b829122f2b8..4d30d199baa 100644 --- a/sw/airborne/modules/computer_vision/cv.c +++ b/sw/airborne/modules/computer_vision/cv.c @@ -97,7 +97,7 @@ struct video_listener *cv_add_to_device_async(struct video_config_t *device, cv_ // Create new processing thread pthread_create(&listener->async->thread_id, NULL, cv_async_thread, listener); - + pthread_setname_np(listener->async->thread_id, "pprz_camera_thread"); return listener; } diff --git a/sw/airborne/modules/computer_vision/video_thread.c b/sw/airborne/modules/computer_vision/video_thread.c index bb72333d1ab..2493ac29746 100644 --- a/sw/airborne/modules/computer_vision/video_thread.c +++ b/sw/airborne/modules/computer_vision/video_thread.c @@ -235,6 +235,7 @@ static void start_video_thread(struct video_config_t *camera) printf("[viewvideo] Could not create streaming thread for camera %s: Reason: %d.\n", camera->dev_name, errno); return; } + pthread_setname_np(tid, "pprz_camera_thread"); } } diff --git a/sw/airborne/modules/sonar/sonar_bebop.c b/sw/airborne/modules/sonar/sonar_bebop.c index 717122e292c..fd3246107e2 100644 --- a/sw/airborne/modules/sonar/sonar_bebop.c +++ b/sw/airborne/modules/sonar/sonar_bebop.c @@ -90,9 +90,6 @@ struct SonarBebop sonar_bebop; static struct spi_transaction sonar_bebop_spi_t; void *sonar_bebop_read(void *data); -#ifdef USE_SONAR -static pthread_t sonar_bebop_thread; -#endif void sonar_bebop_init(void) { @@ -111,7 +108,9 @@ void sonar_bebop_init(void) sonar_bebop_spi_t.input_length = 0; #if USE_SONAR - pthread_create(&sonar_bebop_thread, NULL, sonar_bebop_read, NULL); + pthread_t tid; + pthread_create(&tid, NULL, sonar_bebop_read, NULL); + pthread_setname_np(tid, "pprz_sonar_thread"); #endif init_median_filter_f(&sonar_filt, 3);