Compare commits

..

3 Commits

Author SHA1 Message Date
FluffyOMC
3d091fe92e Merge 76cde6d37e into bc07bc482d 2025-02-16 04:12:43 -05:00
VocalFan
76cde6d37e Add Melatonin to compatibility list 2025-02-16 04:11:48 -05:00
Vudjun
bc07bc482d Gracefully handle errors in socket creation (#662)
In all other calls, exceptions are handled within the ManagedSocket
class, this can't easily be done here as the exception is thrown from
the constructor, so the exception is handled in ISocket and the correct
error is passed to the application.

This should fix #660
2025-02-16 02:26:37 -06:00
2 changed files with 15 additions and 5 deletions

View File

@@ -1799,6 +1799,7 @@
010005A00B312000,"Megaton Rainfall",gpu;opengl,boots,2022-08-04 18:29:43
0100EA100DF92000,"Meiji Katsugeki Haikara Ryuuseigumi - Seibai Shimaseu, Yonaoshi Kagyou",32-bit;nvdec,playable,2022-12-05 13:19:12
0100B360068B2000,"Mekorama",gpu,boots,2021-06-17 16:37:21
010012301932A000,"Melatonin",,playable,2025-02-16 04:08:17
01000FA010340000,"Melbits World",nvdec;online,menus,2021-11-26 13:51:22
0100F68019636000,"Melon Journey",,playable,2023-04-23 21:20:01
010079C012896000,"Memories Off -Innocent Fille- for Dearest",,playable,2020-08-04 07:31:22
1 title_id game_name labels status last_updated
1799 010005A00B312000 Megaton Rainfall gpu;opengl boots 2022-08-04 18:29:43
1800 0100EA100DF92000 Meiji Katsugeki Haikara Ryuuseigumi - Seibai Shimaseu, Yonaoshi Kagyou 32-bit;nvdec playable 2022-12-05 13:19:12
1801 0100B360068B2000 Mekorama gpu boots 2021-06-17 16:37:21
1802 010012301932A000 Melatonin playable 2025-02-16 04:08:17
1803 01000FA010340000 Melbits World nvdec;online menus 2021-11-26 13:51:22
1804 0100F68019636000 Melon Journey playable 2023-04-23 21:20:01
1805 010079C012896000 Memories Off -Innocent Fille- for Dearest playable 2020-08-04 07:31:22

View File

@@ -101,12 +101,21 @@ namespace Ryujinx.HLE.HOS.Services.Sockets.Bsd
}
}
ISocket newBsdSocket = new ManagedSocket(netDomain, (SocketType)type, protocol, context.Device.Configuration.MultiplayerLanInterfaceId)
{
Blocking = !creationFlags.HasFlag(BsdSocketCreationFlags.NonBlocking),
};
LinuxError errno = LinuxError.SUCCESS;
ISocket newBsdSocket;
try
{
newBsdSocket = new ManagedSocket(netDomain, (SocketType)type, protocol, context.Device.Configuration.MultiplayerLanInterfaceId)
{
Blocking = !creationFlags.HasFlag(BsdSocketCreationFlags.NonBlocking),
};
}
catch (SocketException exception)
{
LinuxError errNo = WinSockHelper.ConvertError((WsaError)exception.ErrorCode);
return WriteBsdResult(context, 0, errNo);
}
int newSockFd = _context.RegisterFileDescriptor(newBsdSocket);