Browse Source

Close the other file descriptors after redirection has taken place

Fixes https://github.com/libsdl-org/SDL/issues/10868
Sam Lantinga 7 tháng trước cách đây
mục cha
commit
98cd8b34a7
1 tập tin đã thay đổi với 4 bổ sung4 xóa
  1. 4 4
      src/process/posix/SDL_posixprocess.c

+ 4 - 4
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;