* xbuild/Microsoft.Common.targets (PostBuildEvent): If
[mono.git] / libgc / misc.c
index 52567b7ded873b3da113415e6a9b6cb1d735b220..22fc564c89518bc08b2d1f19b695beac1c048e14 100644 (file)
@@ -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);