diff --git a/src/process/posix/SDL_posixprocess.c b/src/process/posix/SDL_posixprocess.c index 47ebd2bbe9..cc9d004a65 100644 --- a/src/process/posix/SDL_posixprocess.c +++ b/src/process/posix/SDL_posixprocess.c @@ -197,10 +197,6 @@ bool SDL_SYS_CreateProcessWithProperties(SDL_Process *process, SDL_PropertiesID goto posix_spawn_fail_attr; } - if (!AddFileDescriptorCloseActions(&fa)) { - goto posix_spawn_fail_all; - } - // Background processes don't have access to the terminal if (process->background) { if (stdin_option == SDL_PROCESS_STDIO_INHERITED) { @@ -347,6 +343,10 @@ bool SDL_SYS_CreateProcessWithProperties(SDL_Process *process, SDL_PropertiesID } } + if (!AddFileDescriptorCloseActions(&fa)) { + goto posix_spawn_fail_all; + } + // Spawn the new process if (process->background) { int status = -1;