The open source OpenXR runtime

c/multi: Add missing cases in clean up multi system state session

Part-of: <https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2619>

authored by

Rafal Karp and committed by
Marge Bot
b334f9d7 f0db3808

+12 -2
+12 -2
src/xrt/compositor/multi/comp_multi_system.c
··· 1 1 // Copyright 2019-2024, Collabora, Ltd. 2 + // Copyright 2025, NVIDIA CORPORATION. 2 3 // SPDX-License-Identifier: BSL-1.0 3 4 /*! 4 5 * @file ··· 556 557 U_LOG_I("Stopped native session, shutting down."); 557 558 xrt_comp_end_session(xc); 558 559 break; 559 - case MULTI_SYSTEM_STATE_STOPPED: break; 560 - default: assert(false); 560 + case MULTI_SYSTEM_STATE_STOPPED: U_LOG_I("Already stopped, nothing to clean up."); break; 561 + case MULTI_SYSTEM_STATE_INIT_WARM_START: 562 + U_LOG_I("Cleaning up from warm start state."); 563 + xrt_comp_end_session(xc); 564 + break; 565 + case MULTI_SYSTEM_STATE_INVALID: 566 + U_LOG_W("Cleaning up from invalid state."); 567 + // Best effort cleanup 568 + xrt_comp_end_session(xc); 569 + break; 570 + default: U_LOG_E("Unknown session state during cleanup: %d", msc->sessions.state); assert(false); 561 571 } 562 572 563 573 os_thread_helper_unlock(&msc->oth);