From: Jonathan Rajotte Date: Wed, 19 Dec 2018 18:47:23 +0000 (-0500) Subject: Fix: session list lock must be held on session put operation X-Git-Tag: v2.12.0-rc1~660 X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=commitdiff_plain;h=5b8139c62c3bc4a769e3430edb8d4105d2152356;hp=81684730b3134c61ca310bf26733c01d783103d7 Fix: session list lock must be held on session put operation Signed-off-by: Jonathan Rajotte Signed-off-by: Jérémie Galarneau --- 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; }