From 543d5f89e672660e1bb7abd4db4eff1afb578b9f Mon Sep 17 00:00:00 2001 From: Sepalani Date: Thu, 19 Feb 2026 18:27:23 +0400 Subject: [PATCH] AMMediaboard: Improve recv/send log messages --- Source/Core/Core/HW/DVD/AMMediaboard.cpp | 30 +++++++++++++++++++++--- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/Source/Core/Core/HW/DVD/AMMediaboard.cpp b/Source/Core/Core/HW/DVD/AMMediaboard.cpp index 30308874bd..0d31cc635c 100644 --- a/Source/Core/Core/HW/DVD/AMMediaboard.cpp +++ b/Source/Core/Core/HW/DVD/AMMediaboard.cpp @@ -961,10 +961,25 @@ static void AMMBCommandRecv(u32 parameter_offset, u32 network_buffer_base) len = 0; } + // TODO: Might be blocking depending on the timeout (see SetTimeouts command). const int ret = recv(fd, reinterpret_cast(s_network_buffer.data() + off), len, 0); const int err = WSAGetLastError(); - DEBUG_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: recv( {}, 0x{:08x}, {} ):{} {}", fd, off, len, ret, err); + if (ret < 0 && err != WSAEWOULDBLOCK) + { + ERROR_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: recv( {}, 0x{:08x}, {} ) failed with error {}: {}", fd, + off, len, err, Common::DecodeNetworkError(err)); + } + else if (ret == 0) + { + INFO_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: recv( {}, 0x{:08x}, {} ):0 shutdown received", fd, off, + len); + } + else + { + DEBUG_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: recv( {}, 0x{:08x}, {} ):{} {}", fd, off, len, ret, + err); + } s_media_buffer[1] = s_media_buffer[8]; s_media_buffer_32[1] = ret; @@ -990,11 +1005,20 @@ static void AMMBCommandSend(u32 parameter_offset, u32 network_buffer_base) len = 0; } + // TODO: Might be blocking depending on the timeout (see SetTimeouts command). const int ret = send(fd, reinterpret_cast(s_network_buffer.data() + off), len, SEND_FLAGS); const int err = WSAGetLastError(); - DEBUG_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: send( {}({}), 0x{:08x}, {} ): {} {}", fd, - u32(guest_socket), off, len, ret, err); + if (ret < 0 && err != WSAEWOULDBLOCK) + { + ERROR_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: send( {}({}), 0x{:08x}, {} ) failed with error {}: {}", + fd, u32(guest_socket), off, len, err, Common::DecodeNetworkError(err)); + } + else + { + DEBUG_LOG_FMT(AMMEDIABOARD_NET, "GC-AM: send( {}({}), 0x{:08x}, {} ): {} {}", fd, + u32(guest_socket), off, len, ret, err); + } s_media_buffer[1] = s_media_buffer[8]; s_media_buffer_32[1] = ret;