projects
/
deliverable
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: destroy called twice on quit pipe
[deliverable/lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
manage-consumer.c
diff --git
a/src/bin/lttng-sessiond/manage-consumer.c
b/src/bin/lttng-sessiond/manage-consumer.c
index 47bfe521cf96056b2ffd7dd111afda69efb0b7e5..b710c61f80ed3d837aa03a92c511e0176e13fd10 100644
(file)
--- a/
src/bin/lttng-sessiond/manage-consumer.c
+++ b/
src/bin/lttng-sessiond/manage-consumer.c
@@
-447,13
+447,13
@@
bool launch_consumer_management_thread(struct consumer_data *consumer_data)
struct thread_notifiers *notifiers = NULL;
struct lttng_thread *thread;
struct thread_notifiers *notifiers = NULL;
struct lttng_thread *thread;
- quit_pipe = lttng_pipe_open(FD_CLOEXEC);
- if (!quit_pipe) {
- goto error;
- }
-
notifiers = zmalloc(sizeof(*notifiers));
if (!notifiers) {
notifiers = zmalloc(sizeof(*notifiers));
if (!notifiers) {
+ goto error_alloc;
+ }
+
+ quit_pipe = lttng_pipe_open(FD_CLOEXEC);
+ if (!quit_pipe) {
goto error;
}
notifiers->quit_pipe = quit_pipe;
goto error;
}
notifiers->quit_pipe = quit_pipe;
@@
-471,10
+471,11
@@
bool launch_consumer_management_thread(struct consumer_data *consumer_data)
wait_until_thread_is_ready(notifiers);
lttng_thread_put(thread);
if (notifiers->initialization_result) {
wait_until_thread_is_ready(notifiers);
lttng_thread_put(thread);
if (notifiers->initialization_result) {
-
goto error
;
+
return false
;
}
return true;
error:
cleanup_consumer_management_thread(notifiers);
}
return true;
error:
cleanup_consumer_management_thread(notifiers);
+error_alloc:
return false;
}
return false;
}
This page took
0.027943 seconds
and
5
git commands to generate.