[PATCH 15/22] Removed code used when NXT_HAVE_POSIX_SPAWN is false.
Alejandro Colomar
alx.manpages at gmail.com
Sun Jun 19 13:50:25 UTC 2022
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>
---
auto/unix | 15 ---------------
src/nxt_process.c | 48 -----------------------------------------------
src/nxt_unix.h | 2 --
3 files changed, 65 deletions(-)
diff --git a/auto/unix b/auto/unix
index 7c241650..45c6a139 100644
--- a/auto/unix
+++ b/auto/unix
@@ -178,21 +178,6 @@ if [ $nxt_found = no ]; then
fi
-nxt_feature="posix_spawn()"
-nxt_feature_name=NXT_HAVE_POSIX_SPAWN
-nxt_feature_run=
-nxt_feature_incs=
-nxt_feature_libs=
-nxt_feature_test="#include <spawn.h>
- #include <unistd.h>
-
- int main(int argc, char *argv[]) {
- (void) posix_spawn(NULL, \"\", NULL, NULL, argv, NULL);
- return 0;
- }"
-. auto/feature
-
-
# NetBSD 1.0, OpenBSD 1.0, FreeBSD 2.2 setproctitle().
nxt_feature="setproctitle()"
diff --git a/src/nxt_process.c b/src/nxt_process.c
index b7174850..bc59e7d5 100644
--- a/src/nxt_process.c
+++ b/src/nxt_process.c
@@ -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)
diff --git a/src/nxt_unix.h b/src/nxt_unix.h
index 5d7a59b6..fab51f38 100644
--- a/src/nxt_unix.h
+++ b/src/nxt_unix.h
@@ -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>
--
2.36.1
More information about the unit
mailing list