SDL: Fixed posix_spawnp usage (#16336)

From 2747162d9ab6fcb850991434eed9e109e543eebd Mon Sep 17 00:00:00 2001
From: Jason Bobier <[EMAIL REDACTED]>
Date: Thu, 17 Sep 2026 19:35:27 +0200
Subject: [PATCH] Fixed posix_spawnp usage (#16336)

---
 src/process/posix/SDL_posixprocess.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/src/process/posix/SDL_posixprocess.c b/src/process/posix/SDL_posixprocess.c
index 97be479d4d3ec..80fc31d1a000b 100644
--- a/src/process/posix/SDL_posixprocess.c
+++ b/src/process/posix/SDL_posixprocess.c
@@ -355,10 +355,8 @@ bool SDL_SYS_CreateProcessWithProperties(SDL_Process *process, SDL_PropertiesID
         case 0:
             // Detach from the terminal and launch the process
             setsid();
-            if (posix_spawnp(&data->pid, args[0], &fa, &attr, args, envp) != 0) {
-                _exit(errno);
-            }
-            _exit(0);
+            int result = posix_spawnp(&data->pid, args[0], &fa, &attr, args, envp);
+            _exit(result);
 
         default:
             if (waitpid(pid, &status, 0) < 0) {
@@ -372,8 +370,9 @@ bool SDL_SYS_CreateProcessWithProperties(SDL_Process *process, SDL_PropertiesID
             break;
         }
     } else {
-        if (posix_spawnp(&data->pid, args[0], &fa, &attr, args, envp) != 0) {
-            SDL_SetError("posix_spawn() failed: %s", strerror(errno));
+        int result = posix_spawnp(&data->pid, args[0], &fa, &attr, args, envp);
+        if (result != 0) {
+            SDL_SetError("posix_spawn() failed: %s", strerror(result));
             goto posix_spawn_fail_all;
         }
     }