X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=AcessNative%2Fld-acess_src%2Fsyscalls.c;h=d659fe553f608a112388ccd164175ff384de8b8c;hb=c18c6fea968e72403f9a7b75d6f7f8e3f9e8757f;hp=3fdbc72934a9e89d0de1178b611a05a1a66a1936;hpb=9d234f984c149fcc6b1f5aab21a0ca227c060e32;p=tpg%2Facess2.git diff --git a/AcessNative/ld-acess_src/syscalls.c b/AcessNative/ld-acess_src/syscalls.c index 3fdbc729..d659fe55 100644 --- a/AcessNative/ld-acess_src/syscalls.c +++ b/AcessNative/ld-acess_src/syscalls.c @@ -9,6 +9,9 @@ #include #include #include +#ifndef __WIN32__ +# include // posix_spawn +#endif #include "request.h" #if SYSCALL_TRACE @@ -335,3 +338,16 @@ int native_execve(const char *filename, const char *const argv[], const char *co perror("native_execve"); return ret; } + +int native_spawn(const char *filename, const char *const argv[], const char *const envp[]) +{ + int rv; + + #if __WIN32__ + rv = _spawnve(_P_NOWAIT, filename, argv, envp); + #else + rv = posix_spawn(NULL, filename, NULL, NULL, (void*)argv, (void*)envp); + #endif + + return rv; +}