projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: relayd and sessiond: dispatch thread exit is shared across threads
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
main.c
diff --git
a/src/bin/lttng-sessiond/main.c
b/src/bin/lttng-sessiond/main.c
index 85b960ee3c23be267d4b5558e9c1dc661539583e..5664b0be1e86c46e4c2d4f4b1e42250fb30cee8e 100644
(file)
--- a/
src/bin/lttng-sessiond/main.c
+++ b/
src/bin/lttng-sessiond/main.c
@@
-103,6
+103,7
@@
static struct consumer_data ustconsumer32_data = {
.cmd_sock = -1,
};
.cmd_sock = -1,
};
+/* Shared between threads */
static int dispatch_thread_exit;
/* Global application Unix socket path */
static int dispatch_thread_exit;
/* Global application Unix socket path */
@@
-420,7
+421,7
@@
static void stop_threads(void)
}
/* Dispatch thread */
}
/* Dispatch thread */
-
dispatch_thread_exit = 1
;
+
CMM_STORE_SHARED(dispatch_thread_exit, 1)
;
futex_nto1_wake(&ust_cmd_queue.futex);
}
futex_nto1_wake(&ust_cmd_queue.futex);
}
@@
-1219,7
+1220,7
@@
static void *thread_dispatch_ust_registration(void *data)
DBG("[thread] Dispatch UST command started");
DBG("[thread] Dispatch UST command started");
- while (!
dispatch_thread_exit
) {
+ while (!
CMM_LOAD_SHARED(dispatch_thread_exit)
) {
/* Atomically prepare the queue futex */
futex_nto1_prepare(&ust_cmd_queue.futex);
/* Atomically prepare the queue futex */
futex_nto1_prepare(&ust_cmd_queue.futex);
This page took
0.02397 seconds
and
4
git commands to generate.