summaryrefslogtreecommitdiff
path: root/src/process/posix_spawnp.c
diff options
context:
space:
mode:
authorVladimir Azarov <avm@intermediate-node.net>2024-10-01 15:47:05 +0200
committerVladimir Azarov <avm@intermediate-node.net>2024-10-01 15:47:05 +0200
commit4abab5ad6c8465a7528ccdd5f49367da05f78bbd (patch)
treeebf009bf1376a5a223a915bc27cbbd791a1316bc /src/process/posix_spawnp.c
Initial version
Diffstat (limited to 'src/process/posix_spawnp.c')
-rw-r--r--src/process/posix_spawnp.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/process/posix_spawnp.c b/src/process/posix_spawnp.c
new file mode 100644
index 0000000..aad6133
--- /dev/null
+++ b/src/process/posix_spawnp.c
@@ -0,0 +1,13 @@
+#include <spawn.h>
+#include <unistd.h>
+
+int posix_spawnp(pid_t *restrict res, const char *restrict file,
+ const posix_spawn_file_actions_t *fa,
+ const posix_spawnattr_t *restrict attr,
+ char *const argv[restrict], char *const envp[restrict])
+{
+ posix_spawnattr_t spawnp_attr = { 0 };
+ if (attr) spawnp_attr = *attr;
+ spawnp_attr.__fn = (void *)__execvpe;
+ return posix_spawn(res, file, fa, &spawnp_attr, argv, envp);
+}