diff options
| author | FearlessTobi <thm.frey@gmail.com> | 2024-02-19 16:00:46 +0100 |
|---|---|---|
| committer | FearlessTobi <thm.frey@gmail.com> | 2024-02-19 16:00:46 +0100 |
| commit | 4d55e58ee4d99fbd7a2d6973f21b9c0e61c0f137 (patch) | |
| tree | 43a5699123e4930560fc5016faac7efb15b63f4e /src/core/hle/kernel/k_server_session.cpp | |
| parent | 79a983cc95013f35c96d19d2196b176eaf78d037 (diff) | |
scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
Diffstat (limited to 'src/core/hle/kernel/k_server_session.cpp')
| -rw-r--r-- | src/core/hle/kernel/k_server_session.cpp | 36 |
1 files changed, 23 insertions, 13 deletions
diff --git a/src/core/hle/kernel/k_server_session.cpp b/src/core/hle/kernel/k_server_session.cpp index adaabdd6d6..40c3323ef3 100644 --- a/src/core/hle/kernel/k_server_session.cpp +++ b/src/core/hle/kernel/k_server_session.cpp @@ -651,11 +651,11 @@ Result ReceiveMessage(KernelCore& kernel, bool& recv_list_broken, uint64_t dst_m // Process any special data. if (src_header.GetHasSpecialHeader()) { // After we process, make sure we track whether the receive list is broken. - SCOPE_EXIT({ + SCOPE_EXIT { if (offset > dst_recv_list_idx) { recv_list_broken = true; } - }); + }; // Process special data. R_TRY(ProcessMessageSpecialData<false>(offset, dst_process, src_process, src_thread, @@ -665,11 +665,11 @@ Result ReceiveMessage(KernelCore& kernel, bool& recv_list_broken, uint64_t dst_m // Process any pointer buffers. for (auto i = 0; i < src_header.GetPointerCount(); ++i) { // After we process, make sure we track whether the receive list is broken. - SCOPE_EXIT({ + SCOPE_EXIT { if (offset > dst_recv_list_idx) { recv_list_broken = true; } - }); + }; R_TRY(ProcessReceiveMessagePointerDescriptors( offset, pointer_key, dst_page_table, src_page_table, dst_msg, src_msg, dst_recv_list, @@ -680,11 +680,11 @@ Result ReceiveMessage(KernelCore& kernel, bool& recv_list_broken, uint64_t dst_m // Process any map alias buffers. for (auto i = 0; i < src_header.GetMapAliasCount(); ++i) { // After we process, make sure we track whether the receive list is broken. - SCOPE_EXIT({ + SCOPE_EXIT { if (offset > dst_recv_list_idx) { recv_list_broken = true; } - }); + }; // We process in order send, recv, exch. Buffers after send (recv/exch) are ReadWrite. const KMemoryPermission perm = (i >= src_header.GetSendCount()) @@ -702,11 +702,11 @@ Result ReceiveMessage(KernelCore& kernel, bool& recv_list_broken, uint64_t dst_m // Process any raw data. if (const auto raw_count = src_header.GetRawCount(); raw_count != 0) { // After we process, make sure we track whether the receive list is broken. - SCOPE_EXIT({ + SCOPE_EXIT { if (offset + raw_count > dst_recv_list_idx) { recv_list_broken = true; } - }); + }; // Get the offset and size. const size_t offset_words = offset * sizeof(u32); @@ -1124,7 +1124,9 @@ Result KServerSession::ReceiveRequest(uintptr_t server_message, uintptr_t server client_thread->Open(); } - SCOPE_EXIT({ client_thread->Close(); }); + SCOPE_EXIT { + client_thread->Close(); + }; // Set the request as our current. m_current_request = request; @@ -1174,7 +1176,9 @@ Result KServerSession::ReceiveRequest(uintptr_t server_message, uintptr_t server // Reply to the client. { // After we reply, close our reference to the request. - SCOPE_EXIT({ request->Close(); }); + SCOPE_EXIT { + request->Close(); + }; // Get the event to check whether the request is async. if (KEvent* event = request->GetEvent(); event != nullptr) { @@ -1236,7 +1240,9 @@ Result KServerSession::SendReply(uintptr_t server_message, uintptr_t server_buff } // Close reference to the request once we're done processing it. - SCOPE_EXIT({ request->Close(); }); + SCOPE_EXIT { + request->Close(); + }; // Extract relevant information from the request. const uint64_t client_message = request->GetAddress(); @@ -1394,7 +1400,9 @@ void KServerSession::CleanupRequests() { } // Close a reference to the request once it's cleaned up. - SCOPE_EXIT({ request->Close(); }); + SCOPE_EXIT { + request->Close(); + }; // Extract relevant information from the request. const uint64_t client_message = request->GetAddress(); @@ -1491,7 +1499,9 @@ void KServerSession::OnClientClosed() { ASSERT(thread != nullptr); // Ensure that we close the request when done. - SCOPE_EXIT({ request->Close(); }); + SCOPE_EXIT { + request->Close(); + }; // If we're terminating, close a reference to the thread and event. if (terminate) { |
