Removed code used when NXT_HAVE_POSIX_SPAWN is false.
posix_spawn(3POSIX) was introduced by POSIX.1d (IEEE Std 1003.1d-1999), and was later consolidated in POSIX.1-2001, requiring it in all POSIX-compliant systems. It's safe to assume it's always available, more than 20 years after its standardization. Link: <https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/spawn.h.html>
This commit is contained in:
@@ -798,8 +798,6 @@ nxt_process_send_ready(nxt_task_t *task, nxt_process_t *process)
|
||||
}
|
||||
|
||||
|
||||
#if (NXT_HAVE_POSIX_SPAWN)
|
||||
|
||||
/*
|
||||
* Linux glibc 2.2 posix_spawn() is implemented via fork()/execve().
|
||||
* Linux glibc 2.4 posix_spawn() without file actions and spawn
|
||||
@@ -834,52 +832,6 @@ nxt_process_execute(nxt_task_t *task, char *name, char **argv, char **envp)
|
||||
return pid;
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
nxt_pid_t
|
||||
nxt_process_execute(nxt_task_t *task, char *name, char **argv, char **envp)
|
||||
{
|
||||
nxt_pid_t pid;
|
||||
|
||||
/*
|
||||
* vfork() is better than fork() because:
|
||||
* it is faster several times;
|
||||
* its execution time does not depend on private memory mapping size;
|
||||
* it has lesser chances to fail due to the ENOMEM error.
|
||||
*/
|
||||
|
||||
pid = vfork();
|
||||
|
||||
switch (pid) {
|
||||
|
||||
case -1:
|
||||
nxt_alert(task, "vfork() failed while executing \"%s\" %E",
|
||||
name, nxt_errno);
|
||||
break;
|
||||
|
||||
case 0:
|
||||
/* A child. */
|
||||
nxt_debug(task, "execve(\"%s\")", name);
|
||||
|
||||
(void) execve(name, argv, envp);
|
||||
|
||||
nxt_alert(task, "execve(\"%s\") failed %E", name, nxt_errno);
|
||||
|
||||
exit(1);
|
||||
nxt_unreachable();
|
||||
break;
|
||||
|
||||
default:
|
||||
/* A parent. */
|
||||
nxt_debug(task, "vfork(): %PI", pid);
|
||||
break;
|
||||
}
|
||||
|
||||
return pid;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
nxt_int_t
|
||||
nxt_process_daemon(nxt_task_t *task)
|
||||
|
||||
@@ -156,9 +156,7 @@
|
||||
#include <setjmp.h>
|
||||
#include <sched.h>
|
||||
#include <signal.h>
|
||||
#if (NXT_HAVE_POSIX_SPAWN)
|
||||
#include <spawn.h>
|
||||
#endif
|
||||
#include <stdarg.h>
|
||||
#include <stddef.h> /* offsetof() */
|
||||
#include <stdio.h>
|
||||
|
||||
Reference in New Issue
Block a user