From: Paul Smith Date: Sat, 24 Aug 2019 21:40:41 +0000 (-0400) Subject: * src/job.c (child_execute_job): Set pid to -1 on posix_spawn failure. X-Git-Tag: 4.2.90~5 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a483334f9764813e4140399e454f5120f2ccdfe4;p=thirdparty%2Fmake.git * src/job.c (child_execute_job): Set pid to -1 on posix_spawn failure. --- diff --git a/src/job.c b/src/job.c index 1df329ee..604b1d10 100644 --- a/src/job.c +++ b/src/job.c @@ -2236,7 +2236,7 @@ child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) int fderr = FD_STDERR; pid_t pid; int r; -#if USE_POSIX_SPAWN +#if defined(USE_POSIX_SPAWN) short flags = 0; posix_spawnattr_t attr; posix_spawn_file_actions_t fa; @@ -2280,8 +2280,6 @@ child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) #else /* use posix_spawn() */ - pid = -1; - if ((r = posix_spawnattr_init (&attr)) != 0) goto done; @@ -2338,9 +2336,13 @@ child_execute_job (struct output *out, int good_stdin, char **argv, char **envp) cleanup: posix_spawn_file_actions_destroy (&fa); posix_spawnattr_destroy (&attr); -#endif /* have posix_spawn() */ done: + if (r != 0) + pid = -1; + +#endif /* have posix_spawn() */ + if (pid < 0) OSS (error, NILF, "%s: %s", argv[0], strerror (r));