[loader] Add descriptive error messages to class failure.
[mono.git] / mono / metadata / process.c
index 138bd98553b4a5d2434edbf760af5e32602f5fb5..96814db8480518f5f35f83caea8c66f18a9ec520 100644 (file)
@@ -27,6 +27,7 @@
 #include <mono/io-layer/io-layer.h>
 /* FIXME: fix this code to not depend so much on the internals */
 #include <mono/metadata/class-internals.h>
+#include <mono/utils/w32handle.h>
 
 #define LOGDEBUG(...)  
 /* define LOGDEBUG(...) g_message(__VA_ARGS__)  */
@@ -488,16 +489,10 @@ ves_icall_System_Diagnostics_Process_GetModules_internal (MonoObject *this_obj,
        guint32 count = 0, module_count = 0, assembly_count = 0;
        guint32 i, num_added = 0;
        GPtrArray *assemblies = NULL;
-       static HANDLE current_process = 0;
-       
-       if (current_process == 0) {
-               int pid = mono_process_current_pid ();
-               current_process = ves_icall_System_Diagnostics_Process_GetProcess_internal (pid);
-       }
 
        stash_system_assembly (this_obj);
 
-       if (process == current_process) {
+       if (GetProcessId (process) == mono_process_current_pid ()) {
                assemblies = get_domain_assemblies (mono_domain_get ());
                assembly_count = assemblies->len;
        }