X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=libgc%2Fmisc.c;h=22fc564c89518bc08b2d1f19b695beac1c048e14;hb=00ed395f7a8cdb0fdbb2a27ec61228f48401b127;hp=52567b7ded873b3da113415e6a9b6cb1d735b220;hpb=3d693eeb90339833968d66c3dc9fde2fa3ba2cef;p=mono.git diff --git a/libgc/misc.c b/libgc/misc.c index 52567b7ded8..22fc564c895 100644 --- a/libgc/misc.c +++ b/libgc/misc.c @@ -81,6 +81,8 @@ /* dyn_load.c isn't linked in. */ #ifdef DYNAMIC_LOADING # define GC_REGISTER_MAIN_STATIC_DATA() GC_register_main_static_data() +#elif defined(GC_DONT_REGISTER_MAIN_STATIC_DATA) +# define GC_REGISTER_MAIN_STATIC_DATA() FALSE #else # define GC_REGISTER_MAIN_STATIC_DATA() TRUE #endif @@ -466,6 +468,15 @@ size_t GC_get_total_bytes GC_PROTO(()) return ((size_t) WORDS_TO_BYTES(GC_words_allocd+GC_words_allocd_before_gc)); } +int GC_get_suspend_signal GC_PROTO(()) +{ +#if defined(SIG_SUSPEND) && defined(GC_PTHREADS) && !defined(GC_MACOSX_THREADS) + return SIG_SUSPEND; +#else + return -1; +#endif +} + GC_bool GC_is_initialized = FALSE; void GC_init() @@ -477,9 +488,9 @@ void GC_init() #if defined(GC_WIN32_THREADS) && !defined(GC_PTHREADS) if (!GC_is_initialized) { BOOL (WINAPI *pfn) (LPCRITICAL_SECTION, DWORD) = NULL; - HMODULE hK32 = GetModuleHandle("kernel32.dll"); + HMODULE hK32 = GetModuleHandle(_T("kernel32.dll")); if (hK32) - (FARPROC) pfn = GetProcAddress(hK32, + pfn = GetProcAddress(hK32, "InitializeCriticalSectionAndSpinCount"); if (pfn) pfn(&GC_allocate_ml, 4000);