Ooops, gen-65 is broken, not test-65.
[mono.git] / mono / io-layer / processes.c
index 1875fd6df027636320d2d953a33ddc9247d72b19..dedd4e2f6521c73517becd00f80badd7b42956bc 100644 (file)
@@ -20,6 +20,7 @@
 #include <errno.h>
 #include <sys/types.h>
 #include <unistd.h>
+#include <signal.h>
 
 #include <mono/io-layer/wapi.h>
 #include <mono/io-layer/wapi-private.h>
@@ -423,7 +424,7 @@ gboolean CreateProcess (const gunichar2 *appname, gunichar2 *cmdline,
                process_info->dwProcessId=pid;
                process_info->dwThreadId=tid;
                /* Wait for possible execve failure */
-               if (WaitForSingleObject  (process_handle, 500) != WAIT_TIMEOUT) {
+               if (WaitForSingleObjectEx (process_handle, 500, FALSE) != WAIT_TIMEOUT) {
                        _wapi_lookup_handle (GUINT_TO_POINTER (process_handle),
                                             WAPI_HANDLE_PROCESS,
                                             (gpointer *) &process_handle_data,
@@ -490,6 +491,8 @@ static void process_set_name (struct _WapiHandle_process *process_handle)
        }
 }
 
+extern void _wapi_time_t_to_filetime (time_t timeval, WapiFileTime *filetime);
+
 static void process_set_current (void)
 {
        struct _WapiHandle_process *process_handle;
@@ -526,6 +529,8 @@ static void process_set_current (void)
                process_handle->min_working_set=204800;
                process_handle->max_working_set=1413120;
 
+               _wapi_time_t_to_filetime (time (NULL), &process_handle->create_time);
+
                process_set_name (process_handle);
                
                /* Make sure the new handle has a reference so it wont go away
@@ -947,9 +952,7 @@ TerminateProcess (gpointer process, gint32 exitCode)
 {
        struct _WapiHandle_process *process_handle;
        gboolean ok;
-       pid_t pid;
        gint signo;
-       gboolean ret;
        gint err;
 
        ok = _wapi_lookup_handle (process, WAPI_HANDLE_PROCESS,