mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 07:00:43 +02:00
FEXServer: Fixes squashfs/erofs with newer fuse releases
Newer fuse releases changed how they are waiting on child processes to exit. Setting the signal action to SIG_IGN would cause erofsfuse/squashfuse to inherit the ignored action and cause their internal `wait4` syscalls to fail with ECHLD. Set the action back to default inside the FEXServer because our original reasoning for setting the ignoring is no longer valid. FEXInterpreter still ignores SIGCHLD while launching FEXServer. Maybe fixes the muvm thing people have been complaining about. Also fixes accidental comma delimiter usage.
This commit is contained in:
2 files changed
+5
-4
No files matched your search
@@ -235,7 +235,8 @@ int ConnectToAndStartServer(std::string_view InterpreterPath) {
|
||||
// We want to ignore the signal so that if FEXServer starts in daemon mode, it
|
||||
// doesn't leave a zombie process around waiting for something to get the result.
|
||||
struct sigaction action {};
|
||||
action.sa_handler = SIG_IGN, sigaction(SIGCHLD, &action, &action);
|
||||
action.sa_handler = SIG_IGN;
|
||||
sigaction(SIGCHLD, &action, &action);
|
||||
|
||||
pid_t pid = fork();
|
||||
if (pid == 0) {
|
||||
|
||||
Reference in new issue
Block a user