aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/service/sockets/sockets_translate.cpp
diff options
context:
space:
mode:
authorcomex <comexk@gmail.com>2023-07-01 17:28:43 -0700
committerLiam <byteslice@airmail.cc>2023-08-15 20:59:57 -0400
commit755bcc459bb9a5c7d521ea9046a8ac58c5256e73 (patch)
tree63a837fd55b77a8bb3c0b766c31a0d8ab0642d67 /src/core/hle/service/sockets/sockets_translate.cpp
parenta8c4f01f6ca040672e85faaf42a8ef12d373dd65 (diff)
Improve behavior when sending to closed connection
- On Unix, this would previously kill the Yuzu process with SIGPIPE. Send MSG_NOSIGNAL to opt out of this. - Add support for the proper error code in this situation, EPIPE. - Windows has nonstandard behavior in this situation; translate it to the standard behavior. Kind of pointless, but isn't it nice to be correct?
Diffstat (limited to 'src/core/hle/service/sockets/sockets_translate.cpp')
-rw-r--r--src/core/hle/service/sockets/sockets_translate.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/core/hle/service/sockets/sockets_translate.cpp b/src/core/hle/service/sockets/sockets_translate.cpp
index c1187209f..aed05250c 100644
--- a/src/core/hle/service/sockets/sockets_translate.cpp
+++ b/src/core/hle/service/sockets/sockets_translate.cpp
@@ -23,10 +23,14 @@ Errno Translate(Network::Errno value) {
return Errno::INVAL;
case Network::Errno::MFILE:
return Errno::MFILE;
+ case Network::Errno::PIPE:
+ return Errno::PIPE;
case Network::Errno::NOTCONN:
return Errno::NOTCONN;
case Network::Errno::TIMEDOUT:
return Errno::TIMEDOUT;
+ case Network::Errno::CONNABORTED:
+ return Errno::CONNABORTED;
case Network::Errno::CONNRESET:
return Errno::CONNRESET;
case Network::Errno::INPROGRESS: