2005-03-20 Tor Lillqvist <tml@novell.com>
+ * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
+ handle if the called doesn't want it also in the case without a
+ helper process.
+ (g_spawn_sync): Don't ask for a child pid which we don't need.
+
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
2005-03-20 Tor Lillqvist <tml@novell.com>
+ * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
+ handle if the called doesn't want it also in the case without a
+ helper process.
+ (g_spawn_sync): Don't ask for a child pid which we don't need.
+
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
2005-03-20 Tor Lillqvist <tml@novell.com>
+ * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
+ handle if the called doesn't want it also in the case without a
+ helper process.
+ (g_spawn_sync): Don't ask for a child pid which we don't need.
+
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
2005-03-20 Tor Lillqvist <tml@novell.com>
+ * glib/gspawn-win32.c (do_spawn_with_pipes): Close the process
+ handle if the called doesn't want it also in the case without a
+ helper process.
+ (g_spawn_sync): Don't ask for a child pid which we don't need.
+
* glib/gtimer.c: On Win32, use GetSystemTimeAsFileTime() instead
of GetTickCount(). (#159507)
goto cleanup_and_fail;
}
- if (child_handle && dont_wait && !dont_return_handle)
- *child_handle = (GPid) rc;
- else if (!dont_wait && exit_status)
+ if (dont_wait)
+ {
+ if (child_handle && !dont_return_handle)
+ *child_handle = (GPid) rc;
+ else
+ {
+ CloseHandle (rc);
+ if (child_handle)
+ *child_handle = 0;
+ }
+ }
+ else if (exit_status)
*exit_status = rc;
return TRUE;
gint outpipe = -1;
gint errpipe = -1;
gint reportpipe = -1;
- GPid pid;
GIOChannel *outchannel = NULL;
GIOChannel *errchannel = NULL;
GPollFD outfd, errfd;
flags,
child_setup,
user_data,
- &pid,
+ NULL,
NULL,
standard_output ? &outpipe : NULL,
standard_error ? &errpipe : NULL,
if (errpipe >= 0)
close_and_invalidate (&errpipe);
- g_spawn_close_pid (pid);
-
if (failed)
{
if (outstr)