diff --git a/libraries/libmesosphere/source/kern_k_session_request.cpp b/libraries/libmesosphere/source/kern_k_session_request.cpp index deb1619d5..a40611949 100644 --- a/libraries/libmesosphere/source/kern_k_session_request.cpp +++ b/libraries/libmesosphere/source/kern_k_session_request.cpp @@ -44,16 +44,19 @@ namespace ams::kern { Result KSessionRequest::SessionMappings::PushSend(KProcessAddress client, KProcessAddress server, size_t size, KMemoryState state) { MESOSPHERE_ASSERT(m_num_recv == 0); MESOSPHERE_ASSERT(m_num_exch == 0); - R_RETURN(this->PushMap(client, server, size, state, m_num_send++)); + ON_RESULT_SUCCESS { ++m_num_send; }; + R_RETURN(this->PushMap(client, server, size, state, m_num_send)); } Result KSessionRequest::SessionMappings::PushReceive(KProcessAddress client, KProcessAddress server, size_t size, KMemoryState state) { MESOSPHERE_ASSERT(m_num_exch == 0); - R_RETURN(this->PushMap(client, server, size, state, m_num_send + m_num_recv++)); + ON_RESULT_SUCCESS { ++m_num_recv; }; + R_RETURN(this->PushMap(client, server, size, state, m_num_send + m_num_recv)); } Result KSessionRequest::SessionMappings::PushExchange(KProcessAddress client, KProcessAddress server, size_t size, KMemoryState state) { - R_RETURN(this->PushMap(client, server, size, state, m_num_send + m_num_recv + m_num_exch++)); + ON_RESULT_SUCCESS { ++m_num_exch; }; + R_RETURN(this->PushMap(client, server, size, state, m_num_send + m_num_recv + m_num_exch)); } void KSessionRequest::SessionMappings::Finalize() {