Avoid broadcast lifecycle races in active sessions API
Some checks failed
ci-bundle.yml / Avoid broadcast lifecycle races in active sessions API (push) Failing after 0s
ci-copr.yml / Avoid broadcast lifecycle races in active sessions API (push) Failing after 0s
ci-homebrew.yml / Avoid broadcast lifecycle races in active sessions API (push) Failing after 0s

This commit is contained in:
Joey Yakimowich-Payne 2026-02-11 15:02:53 -07:00
commit c4315144b3

View file

@ -1932,9 +1932,17 @@ namespace stream {
audio::capture(session->mail, session->config.audio, session); audio::capture(session->mail, session->config.audio, session);
} }
namespace session {
extern std::atomic_uint running_sessions;
}
nlohmann::json get_active_sessions_info() { nlohmann::json get_active_sessions_info() {
auto result = nlohmann::json::array(); auto result = nlohmann::json::array();
if (session::running_sessions.load(std::memory_order_relaxed) == 0) {
return result;
}
auto ref = broadcast.ref(); auto ref = broadcast.ref();
if (!ref) { if (!ref) {
return result; return result;