projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: session list lock must be held on session put operation
[lttng-tools.git]
/
src
/
bin
/
lttng-sessiond
/
rotation-thread.c
diff --git
a/src/bin/lttng-sessiond/rotation-thread.c
b/src/bin/lttng-sessiond/rotation-thread.c
index 8e63e160f980c15f8e60af0ea8f74d88a89e758e..6669372dd471210470138dbab6605907fa15019d 100644
(file)
--- 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.
*/
* possible for a job targeting that session to have
* already been queued before it was destroyed.
*/
- session_unlock_list();
free(job);
session_put(session);
free(job);
session_put(session);
+ session_unlock_list();
continue;
}
continue;
}
@@
-832,7
+832,6
@@
int handle_condition(const struct lttng_condition *condition,
goto end;
}
session_lock(session);
goto end;
}
session_lock(session);
- session_unlock_list();
ret = unsubscribe_session_consumed_size_rotation(session,
notification_thread_handle);
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);
end_unlock:
session_unlock(session);
session_put(session);
+ session_unlock_list();
end:
return ret;
}
end:
return ret;
}
This page took
0.024747 seconds
and
4
git commands to generate.