From 55790e37e858534c2006d36bcc77a21f4b161530 Mon Sep 17 00:00:00 2001 From: Stephen Miller Date: Mon, 17 Feb 2025 15:22:16 -0600 Subject: [PATCH] Readd hack in posix_close It's either this, or removing LLE DiscMap. Or shadow implements posix sockets. --- src/core/libraries/kernel/file_system.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/core/libraries/kernel/file_system.cpp b/src/core/libraries/kernel/file_system.cpp index 7c1a0d8e0..cf0731e12 100644 --- a/src/core/libraries/kernel/file_system.cpp +++ b/src/core/libraries/kernel/file_system.cpp @@ -182,6 +182,12 @@ s32 PS4_SYSV_ABI sceKernelOpen(const char* path, s32 flags, /* SceKernelMode*/ u } s32 PS4_SYSV_ABI posix_close(s32 fd) { + if (fd == 0) { + // Hack to bypass unimplemented posix_socket in LLE libSceDiscMap + // Without this, it closes stdin because socket returns fd 0 + *__Error() = POSIX_EBADF; + return -1; + } auto* h = Common::Singleton::Instance(); auto* file = h->GetFile(fd); if (file == nullptr) {