fix usage of locks with vfork
[musl] / src / process / posix_spawnp.c
index 91355fb..3736000 100644 (file)
@@ -1,8 +1,10 @@
 #include <spawn.h>
 #include <unistd.h>
 
+int __execvpe(const char *, char *const *, char *const *);
+
 int __posix_spawnx(pid_t *restrict, const char *restrict,
-       int (*)(const char *, char *const *),
+       int (*)(const char *, char *const *, char *const *),
        const posix_spawn_file_actions_t *,
        const posix_spawnattr_t *restrict, char *const *restrict, char *const *restrict);
 
@@ -11,5 +13,5 @@ int posix_spawnp(pid_t *restrict res, const char *restrict file,
        const posix_spawnattr_t *restrict attr,
        char *const argv[restrict], char *const envp[restrict])
 {
-       return __posix_spawnx(res, file, execvp, fa, attr, argv, envp);
+       return __posix_spawnx(res, file, __execvpe, fa, attr, argv, envp);
 }