X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fsgen-os-posix.c;h=37979a497d40939f04fe9a03de7d307f564efbb2;hb=9a6211315c7540e2a5311556cc2a500cfa9f5f4a;hp=a45d6be1d9c44c13c527d31cfa2f4eded804f868;hpb=b26f7890202f367223a1cb48625aee8b43f1b45f;p=mono.git diff --git a/mono/metadata/sgen-os-posix.c b/mono/metadata/sgen-os-posix.c index a45d6be1d9c..37979a497d4 100644 --- a/mono/metadata/sgen-os-posix.c +++ b/mono/metadata/sgen-os-posix.c @@ -31,7 +31,7 @@ #include #include #include "sgen/sgen-gc.h" -#include "metadata/gc-internal.h" +#include "metadata/gc-internals.h" #include "sgen/sgen-archdep.h" #include "metadata/object-internals.h" #include "utils/mono-signal-handler.h" @@ -107,7 +107,7 @@ suspend_thread (SgenThreadInfo *info, void *context) if (mono_gc_get_gc_callbacks ()->thread_suspend_func) mono_gc_get_gc_callbacks ()->thread_suspend_func (info->client_info.runtime_data, context, NULL); - SGEN_LOG (4, "Posting suspend_ack_semaphore for suspend from %p %p", info, (gpointer)mono_native_thread_id_get ()); + SGEN_LOG (4, "Posting suspend_ack_semaphore for suspend from %p %p", info, (gpointer) (gsize) mono_native_thread_id_get ()); /* Block the restart signal. @@ -129,7 +129,7 @@ suspend_thread (SgenThreadInfo *info, void *context) /* Unblock the restart signal. */ pthread_sigmask (SIG_UNBLOCK, &suspend_ack_signal_mask, NULL); - SGEN_LOG (4, "Posting suspend_ack_semaphore for resume from %p %p\n", info, (gpointer)mono_native_thread_id_get ()); + SGEN_LOG (4, "Posting suspend_ack_semaphore for resume from %p %p\n", info, (gpointer) (gsize) mono_native_thread_id_get ()); /* notify the waiting thread */ SGEN_SEMAPHORE_POST (suspend_ack_semaphore_ptr); } @@ -163,7 +163,7 @@ MONO_SIG_HANDLER_FUNC (static, restart_handler) info = mono_thread_info_current (); info->client_info.signal = restart_signal_num; - SGEN_LOG (4, "Restart handler in %p %p", info, (gpointer)mono_native_thread_id_get ()); + SGEN_LOG (4, "Restart handler in %p %p", info, (gpointer) (gsize) mono_native_thread_id_get ()); errno = old_errno; } @@ -197,14 +197,13 @@ int sgen_thread_handshake (BOOL suspend) { int count, result; - SgenThreadInfo *info; int signum = suspend ? suspend_signal_num : restart_signal_num; MonoNativeThreadId me = mono_native_thread_id_get (); count = 0; mono_thread_info_current ()->client_info.suspend_done = TRUE; - FOREACH_THREAD_SAFE (info) { + FOREACH_THREAD (info) { if (mono_native_thread_id_equals (mono_thread_info_get_tid (info), me)) { continue; } @@ -219,7 +218,7 @@ sgen_thread_handshake (BOOL suspend) } else { info->client_info.skip = 1; } - } END_FOREACH_THREAD_SAFE + } FOREACH_THREAD_END sgen_wait_for_suspend_ack (count); @@ -246,7 +245,7 @@ sgen_os_init (void) g_error ("failed sigaction"); } - sinfo.sa_handler = (void*) restart_handler; + sinfo.sa_handler = (void (*)(int))restart_handler; if (sigaction (restart_signal_num, &sinfo, NULL) != 0) { g_error ("failed sigaction"); }