* icall.c: added CloseEvent_internal.
* object.c: free the GError.
* threads.[ch]:
(ves_icall_System_Threading_Events_CloseEvent_internal): new internal
call.
svn path=/trunk/mono/; revision=15071
+2003-06-02 Gonzalo Paniagua Javier <gonzalo@ximian.com>
+
+ * object.c: free the GError.
+ * icall.c: added CloseEvent_internal.
+ * threads.[ch]:
+ (ves_icall_System_Threading_Events_CloseEvent_internal): new internal
+ call.
+
2003-06-01 Zoltan Varga <vargaz@freemail.hu>
* loader.c (mono_method_get_signature): Add support for dynamic
"System.Threading.NativeEventCalls::CreateEvent_internal", ves_icall_System_Threading_Events_CreateEvent_internal,
"System.Threading.NativeEventCalls::SetEvent_internal", ves_icall_System_Threading_Events_SetEvent_internal,
"System.Threading.NativeEventCalls::ResetEvent_internal", ves_icall_System_Threading_Events_ResetEvent_internal,
+ "System.Threading.NativeEventCalls::CloseEvent_internal", ves_icall_System_Threading_Events_CloseEvent_internal,
/*
* System.Threading.WaitHandle
return g_strdup ("");
as = g_utf16_to_utf8 (mono_string_chars (s), s->length, NULL, NULL, &error);
- if (error)
+ if (error) {
g_warning (error->message);
+ g_error_free (error);
+ }
return as;
}
ReleaseMutex(handle);
}
-HANDLE ves_icall_System_Threading_Events_CreateEvent_internal (MonoBoolean manual,
- MonoBoolean initial,
- char *name) {
+HANDLE ves_icall_System_Threading_Events_CreateEvent_internal (MonoBoolean manual, MonoBoolean initial, char *name) {
MONO_ARCH_SAVE_REGS;
return (CreateEvent(NULL,manual,initial,name));
return (ResetEvent(handle));
}
+void
+ves_icall_System_Threading_Events_CloseEvent_internal (HANDLE handle) {
+ MONO_ARCH_SAVE_REGS;
+
+ CloseHandle (handle);
+}
+
gint32 ves_icall_System_Threading_Interlocked_Increment_Int (gint32 *location)
{
MONO_ARCH_SAVE_REGS;
extern HANDLE ves_icall_System_Threading_Events_CreateEvent_internal (MonoBoolean manual,MonoBoolean initial,char *name);
extern gboolean ves_icall_System_Threading_Events_SetEvent_internal (HANDLE handle);
extern gboolean ves_icall_System_Threading_Events_ResetEvent_internal (HANDLE handle);
+extern void ves_icall_System_Threading_Events_CloseEvent_internal (HANDLE handle);
extern gboolean ves_icall_System_Threading_WaitHandle_WaitAll_internal(MonoArray *mono_handles, gint32 ms, gboolean exitContext);
extern gint32 ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray *mono_handles, gint32 ms, gboolean exitContext);