From 5b8139c62c3bc4a769e3430edb8d4105d2152356 Mon Sep 17 00:00:00 2001 From: Jonathan Rajotte Date: Wed, 19 Dec 2018 13:47:23 -0500 Subject: [PATCH 1/1] Fix: session list lock must be held on session put operation MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau --- src/bin/lttng-sessiond/rotation-thread.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/lttng-sessiond/rotation-thread.c b/src/bin/lttng-sessiond/rotation-thread.c index 8e63e160f..6669372dd 100644 --- a/src/bin/lttng-sessiond/rotation-thread.c +++ b/src/bin/lttng-sessiond/rotation-thread.c @@ -761,9 +761,9 @@ int handle_job_queue(struct rotation_thread_handle *handle, * possible for a job targeting that session to have * already been queued before it was destroyed. */ - session_unlock_list(); free(job); session_put(session); + session_unlock_list(); continue; } @@ -832,7 +832,6 @@ int handle_condition(const struct lttng_condition *condition, goto end; } session_lock(session); - session_unlock_list(); ret = unsubscribe_session_consumed_size_rotation(session, notification_thread_handle); @@ -861,6 +860,7 @@ int handle_condition(const struct lttng_condition *condition, end_unlock: session_unlock(session); session_put(session); + session_unlock_list(); end: return ret; } -- 2.34.1