gboolean ret;
shellex.cbSize = sizeof(SHELLEXECUTEINFO);
- shellex.fMask = SEE_MASK_FLAG_DDEWAIT | SEE_MASK_NOCLOSEPROCESS | SEE_MASK_UNICODE;
+ shellex.fMask = SEE_MASK_FLAG_DDEWAIT | SEE_MASK_UNICODE;
shellex.nShow = proc_start_info->window_style;
shellex.nShow = (shellex.nShow == 0) ? 1 : (shellex.nShow == 1 ? 0 : shellex.nShow);
}
ret = ShellExecuteEx (&shellex);
- if (ret == FALSE) {
- process_info->pid = -GetLastError ();
- } else {
- process_info->process_handle = shellex.hProcess;
- process_info->thread_handle = NULL;
- /* It appears that there's no way to get the pid from a
- * process handle before windows xp. Really.
- */
-#if defined(HAVE_GETPROCESSID) && !defined(MONO_CROSS_COMPILE)
- process_info->pid = GetProcessId (shellex.hProcess);
-#else
- process_info->pid = 0;
-#endif
- process_info->tid = 0;
- }
-
return (ret);
}
/* The default dir name is "". Turn that into NULL to mean
* "current directory"
*/
- if(mono_string_length (proc_start_info->working_directory)==0) {
+ if(proc_start_info->working_directory == NULL || mono_string_length (proc_start_info->working_directory)==0) {
dir=NULL;
} else {
dir=mono_string_chars (proc_start_info->working_directory);