mirror of
https://github.com/FEX-Emu/FEX.git
synced 2026-10-14 08:00:50 +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
@@ -74,9 +74,9 @@ void SetupSignals() {
|
||||
|
||||
// Ignore SIGPIPE, we will be checking for pipe closure which could send this signal
|
||||
signal(SIGPIPE, SIG_IGN);
|
||||
// SIGCHLD if squashfuse exits early.
|
||||
// Ignore it for now
|
||||
signal(SIGCHLD, SIG_IGN);
|
||||
// Reset SIGCHLD which is likely SIG_IGN if FEXInterpreter started the server.
|
||||
// We now wait for child processes with waitpid, newer libfuse also requires SIGCHLD to not be ignored by child processes.
|
||||
signal(SIGCHLD, SIG_DFL);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in new issue
Block a user