Fix: remove broken health monitoring test `test_thread_exit`
[lttng-tools.git] / tests / regression / tools / health / health_exit.c
CommitLineData
9e32c5c0 1/*
9d16b343
MJ
2 * Copyright (C) 2012 Christian Babeux <christian.babeux@efficios.com>
3 * Copyright (C) 2014 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
9e32c5c0 4 *
9d16b343 5 * SPDX-License-Identifier: GPL-2.0-only
9e32c5c0 6 *
9e32c5c0
CB
7 */
8
9#include <stdlib.h>
10#include <string.h>
11#include <pthread.h>
7f2a8058 12#include <urcu.h>
9e32c5c0
CB
13
14/*
15 * Check if the specified environment variable is set.
16 * Return 1 if set, otherwise 0.
17 */
a33d2d4a 18static
9e32c5c0
CB
19int check_env_var(const char *env)
20{
21 if (env) {
22 char *env_val = getenv(env);
23 if (env_val && (strncmp(env_val, "1", 1) == 0)) {
24 return 1;
25 }
26 }
27
28 return 0;
29}
30
a33d2d4a
MD
31/* Session daemon */
32
e547b070 33int __testpoint_sessiond_thread_manage_clients(void)
9e32c5c0 34{
e547b070 35 const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_CLIENTS_EXIT";
9e32c5c0
CB
36
37 if (check_env_var(var)) {
7f2a8058 38 rcu_unregister_thread();
9e32c5c0
CB
39 pthread_exit(NULL);
40 }
6993eeb3
CB
41
42 return 0;
9e32c5c0
CB
43}
44
e547b070 45int __testpoint_sessiond_thread_registration_apps(void)
9e32c5c0 46{
e547b070 47 const char *var = "LTTNG_SESSIOND_THREAD_REG_APPS_EXIT";
9e32c5c0
CB
48
49 if (check_env_var(var)) {
50 pthread_exit(NULL);
51 }
6993eeb3
CB
52
53 return 0;
9e32c5c0
CB
54}
55
e547b070 56int __testpoint_sessiond_thread_manage_apps(void)
9e32c5c0 57{
e547b070 58 const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_APPS_EXIT";
9e32c5c0
CB
59
60 if (check_env_var(var)) {
7f2a8058 61 rcu_unregister_thread();
9e32c5c0
CB
62 pthread_exit(NULL);
63 }
6993eeb3
CB
64
65 return 0;
9e32c5c0
CB
66}
67
e547b070 68int __testpoint_sessiond_thread_manage_kernel(void)
9e32c5c0 69{
e547b070 70 const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_KERNEL_EXIT";
9e32c5c0
CB
71
72 if (check_env_var(var)) {
73 pthread_exit(NULL);
74 }
6993eeb3
CB
75
76 return 0;
9e32c5c0
CB
77}
78
e547b070 79int __testpoint_sessiond_thread_manage_consumer(void)
9e32c5c0 80{
e547b070 81 const char *var = "LTTNG_SESSIOND_THREAD_MANAGE_CONSUMER_EXIT";
9e32c5c0
CB
82
83 if (check_env_var(var)) {
84 pthread_exit(NULL);
85 }
6993eeb3
CB
86
87 return 0;
9e32c5c0 88}
a33d2d4a
MD
89
90int __testpoint_sessiond_thread_ht_cleanup(void)
91{
92 const char *var = "LTTNG_SESSIOND_THREAD_HT_CLEANUP_EXIT";
93
94 if (check_env_var(var)) {
95 rcu_unregister_thread();
96 pthread_exit(NULL);
97 }
98
99 return 0;
100}
101
102int __testpoint_sessiond_thread_app_manage_notify(void)
103{
104 const char *var = "LTTNG_SESSIOND_THREAD_APP_MANAGE_NOTIFY_EXIT";
105
106 if (check_env_var(var)) {
107 rcu_unregister_thread();
108 pthread_exit(NULL);
109 }
110
111 return 0;
112}
113
114int __testpoint_sessiond_thread_app_reg_dispatch(void)
115{
116 const char *var = "LTTNG_SESSIOND_THREAD_APP_REG_DISPATCH_EXIT";
117
118 if (check_env_var(var)) {
119 pthread_exit(NULL);
120 }
121
122 return 0;
123}
124
125/* Consumer daemon */
126
127int __testpoint_consumerd_thread_channel(void)
128{
129 const char *var = "LTTNG_CONSUMERD_THREAD_CHANNEL_EXIT";
130
131 if (check_env_var(var)) {
132 rcu_unregister_thread();
133 pthread_exit(NULL);
134 }
135
136 return 0;
137}
138
139int __testpoint_consumerd_thread_metadata(void)
140{
141 const char *var = "LTTNG_CONSUMERD_THREAD_METADATA_EXIT";
142
143 if (check_env_var(var)) {
144 rcu_unregister_thread();
145 pthread_exit(NULL);
146 }
147
148 return 0;
149}
150
151int __testpoint_consumerd_thread_data(void)
152{
153 const char *var = "LTTNG_CONSUMERD_THREAD_DATA_EXIT";
154
155 if (check_env_var(var)) {
156 rcu_unregister_thread();
157 pthread_exit(NULL);
158 }
159
160 return 0;
161}
162
163int __testpoint_consumerd_thread_sessiond(void)
164{
165 const char *var = "LTTNG_CONSUMERD_THREAD_SESSIOND_EXIT";
166
167 if (check_env_var(var)) {
168 rcu_unregister_thread();
169 pthread_exit(NULL);
170 }
171
172 return 0;
173}
174
175int __testpoint_consumerd_thread_metadata_timer(void)
176{
177 const char *var = "LTTNG_CONSUMERD_THREAD_METADATA_TIMER_EXIT";
178
179 if (check_env_var(var)) {
180 pthread_exit(NULL);
181 }
182
183 return 0;
184}
185
186/* Relay daemon */
187
188int __testpoint_relayd_thread_dispatcher(void)
189{
190 const char *var = "LTTNG_RELAYD_THREAD_DISPATCHER_EXIT";
191
192 if (check_env_var(var)) {
193 pthread_exit(NULL);
194 }
195
196 return 0;
197}
198
199int __testpoint_relayd_thread_worker(void)
200{
201 const char *var = "LTTNG_RELAYD_THREAD_WORKER_EXIT";
202
203 if (check_env_var(var)) {
204 rcu_unregister_thread();
205 pthread_exit(NULL);
206 }
207
208 return 0;
209}
210
211int __testpoint_relayd_thread_listener(void)
212{
213 const char *var = "LTTNG_RELAYD_THREAD_LISTENER_EXIT";
214
215 if (check_env_var(var)) {
216 pthread_exit(NULL);
217 }
218
219 return 0;
220}
221
222int __testpoint_relayd_thread_live_dispatcher(void)
223{
224 const char *var = "LTTNG_RELAYD_THREAD_LIVE_DISPATCHER_EXIT";
225
226 if (check_env_var(var)) {
227 pthread_exit(NULL);
228 }
229
230 return 0;
231}
232
233int __testpoint_relayd_thread_live_worker(void)
234{
235 const char *var = "LTTNG_RELAYD_THREAD_LIVE_WORKER_EXIT";
236
237 if (check_env_var(var)) {
238 rcu_unregister_thread();
239 pthread_exit(NULL);
240 }
241
242 return 0;
243}
244
245int __testpoint_relayd_thread_live_listener(void)
246{
247 const char *var = "LTTNG_RELAYD_THREAD_LIVE_LISTENER_EXIT";
248
249 if (check_env_var(var)) {
250 pthread_exit(NULL);
251 }
252
253 return 0;
254}
This page took 0.048741 seconds and 4 git commands to generate.