From 1081457a36b27a6e49fd9d7075f751e3564a8f79 Mon Sep 17 00:00:00 2001 From: nicolasduteil Date: Fri, 8 May 2020 10:56:58 +0200 Subject: [PATCH] Execute `janus_check_sessions` if at least one of (`session_timeout`, `reclaim_session_timeout`) is set (#2143) --- janus.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/janus.c b/janus.c index 3612e14b34..c3de958b0b 100644 --- a/janus.c +++ b/janus.c @@ -599,7 +599,7 @@ static void janus_request_unref(janus_request *request) { } static gboolean janus_check_sessions(gpointer user_data) { - if(session_timeout < 1) /* Session timeouts are disabled */ + if(session_timeout < 1 && reclaim_session_timeout < 1) /* Session timeouts are disabled */ return G_SOURCE_CONTINUE; janus_mutex_lock(&sessions_mutex); if(sessions && g_hash_table_size(sessions) > 0) { @@ -612,7 +612,7 @@ static gboolean janus_check_sessions(gpointer user_data) { continue; } gint64 now = janus_get_monotonic_time(); - if ((now - session->last_activity >= (gint64)session_timeout * G_USEC_PER_SEC && + if ((session_timeout > 0 && (now - session->last_activity >= (gint64)session_timeout * G_USEC_PER_SEC) && !g_atomic_int_compare_and_exchange(&session->timeout, 0, 1)) || ((g_atomic_int_get(&session->transport_gone) && now - session->last_activity >= (gint64)reclaim_session_timeout * G_USEC_PER_SEC) && !g_atomic_int_compare_and_exchange(&session->timeout, 0, 1))) {