aboutsummaryrefslogtreecommitdiff
path: root/win32/process.c
diff options
context:
space:
mode:
Diffstat (limited to 'win32/process.c')
-rw-r--r--win32/process.c18
1 files changed, 15 insertions, 3 deletions
diff --git a/win32/process.c b/win32/process.c
index 4257fd689..67ce3c100 100644
--- a/win32/process.c
+++ b/win32/process.c
@@ -334,16 +334,28 @@ mingw_spawn_1(int mode, const char *cmd, char *const *argv, char *const *envp)
334 return -1; 334 return -1;
335} 335}
336 336
337pid_t FAST_FUNC 337static pid_t
338mingw_spawn(char **argv) 338mingw_spawn_pid(int mode, char **argv)
339{ 339{
340 intptr_t ret; 340 intptr_t ret;
341 341
342 ret = mingw_spawn_proc((const char **)argv); 342 ret = mingw_spawn_1(mode, argv[0], (char *const *)argv, environ);
343 343
344 return ret == -1 ? -1 : GetProcessId((HANDLE)ret); 344 return ret == -1 ? -1 : GetProcessId((HANDLE)ret);
345} 345}
346 346
347pid_t FAST_FUNC
348mingw_spawn(char **argv)
349{
350 return mingw_spawn_pid(P_NOWAIT, argv);
351}
352
353pid_t FAST_FUNC
354mingw_spawn_detach(char **argv)
355{
356 return mingw_spawn_pid(P_DETACH, argv);
357}
358
347intptr_t FAST_FUNC 359intptr_t FAST_FUNC
348mingw_spawn_proc(const char **argv) 360mingw_spawn_proc(const char **argv)
349{ 361{