}
/* Returns an array of pids */
-MonoArray *ves_icall_System_Diagnostics_Process_GetProcesses_internal (void)
+MonoArray *
+ves_icall_System_Diagnostics_Process_GetProcesses_internal (void)
{
#if !defined(HOST_WIN32)
MonoArray *procs;
int i, count;
pidarray = mono_process_list (&count);
- if (!pidarray)
- mono_raise_exception (mono_get_exception_not_supported ("This system does not support EnumProcesses"));
+ if (!pidarray) {
+ mono_set_pending_exception (mono_get_exception_not_supported ("This system does not support EnumProcesses"));
+ return NULL;
+ }
procs = mono_array_new (mono_domain_get (), mono_get_int32_class (), count);
if (sizeof (guint32) == sizeof (gpointer)) {
memcpy (mono_array_addr (procs, guint32, 0), pidarray, count);
g_free (pids);
pids = NULL;
exc = mono_get_exception_not_supported ("This system does not support EnumProcesses");
- mono_raise_exception (exc);
- g_assert_not_reached ();
+ mono_set_pending_exception (exc);
+ return NULL;
}
if (needed < (count * sizeof (guint32)))
break;