int ret;
assert(session);
+ assert(session->rotation_pending_check_timer_enabled);
DBG("Disabling session rotation pending check timer on session %" PRIu64,
session->id);
struct ltt_session *session =
(struct ltt_session *) info.si_value.sival_ptr;
+ session_lock_list();
+ session_lock(session);
+ /* Acquires a reference to the session. */
rotation_thread_enqueue_job(ctx->rotation_thread_job_queue,
ROTATION_THREAD_JOB_TYPE_CHECK_PENDING_ROTATION,
session);
- session_lock_list();
- session_put(session);
+ /* Release the timer's reference to the session. */
+ (void) timer_session_rotation_pending_check_stop(session);
session_unlock_list();
} else if (signr == LTTNG_SESSIOND_SIG_SCHEDULED_ROTATION) {
rotation_thread_enqueue_job(ctx->rotation_thread_job_queue,