The testpoints in the thread_manage_clients and thread_manage_apps are called after a rcu_register_thread() call. The testpoints were not unregistering their respective thread which could later on cause a segfault when shutting down the session daemon.
Signed-off-by: Christian Babeux <[email protected]> --- tests/regression/tools/health/health_exit.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/tests/regression/tools/health/health_exit.c b/tests/regression/tools/health/health_exit.c index 8e41405..8d1d05c 100644 --- a/tests/regression/tools/health/health_exit.c +++ b/tests/regression/tools/health/health_exit.c @@ -18,6 +18,7 @@ #include <stdlib.h> #include <string.h> #include <pthread.h> +#include <urcu.h> /* * Check if the specified environment variable is set. @@ -40,6 +41,7 @@ int __testpoint_thread_manage_clients(void) const char *var = "LTTNG_THREAD_MANAGE_CLIENTS_EXIT"; if (check_env_var(var)) { + rcu_unregister_thread(); pthread_exit(NULL); } @@ -62,6 +64,7 @@ int __testpoint_thread_manage_apps(void) const char *var = "LTTNG_THREAD_MANAGE_APPS_EXIT"; if (check_env_var(var)) { + rcu_unregister_thread(); pthread_exit(NULL); } -- 1.8.2.2 _______________________________________________ lttng-dev mailing list [email protected] http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
