[sgen] Jobs for scanning from registered roots.
[mono.git] / mono / io-layer / critical-sections.c
index 457338839f1f40ef7e5d205a2ef76c16ff29177c..3d2700da962f6a84d8ee34c964fcfe2a92c8ac64 100644 (file)
@@ -11,7 +11,8 @@
 #include <glib.h>
 #include <pthread.h>
 
-#include "mono/io-layer/wapi.h"
+#include <mono/io-layer/wapi.h>
+#include <mono/io-layer/critical-section-private.h>
 
 #include "mono-mutex.h"
 
@@ -40,6 +41,11 @@ static void attr_init(void)
        g_assert (ret == 0);
 }
 
+void _wapi_critical_section_cleanup (void)
+{
+       mono_mutexattr_destroy (&attr);
+}
+
 /**
  * InitializeCriticalSection:
  * @section: The critical section to initialise
@@ -132,43 +138,3 @@ gboolean TryEnterCriticalSection(WapiCriticalSection *section)
        }
 }
 
-/**
- * EnterCriticalSection:
- * @section: The critical section to enter
- *
- * Enters critical section @section, blocking while other threads own
- * it.  This function doesn't return until the calling thread assumes
- * ownership of @section.
- *
- * A thread can recursively call EnterCriticalSection() and
- * TryEnterCriticalSection(), but must call LeaveCriticalSection() an
- * equal number of times.
- */
-void EnterCriticalSection(WapiCriticalSection *section)
-{
-       int stat;
-
-       if ((stat = mono_mutex_lock(&section->mutex)) != 0) {
-               g_error ("%s: EnterCriticalSection failed: %s", __func__,
-                        g_strerror(stat));
-       }
-}
-
-/**
- * LeaveCriticalSection:
- * @section: The critical section to leave
- *
- * Leaves critical section @section, relinquishing ownership.
- *
- * A thread can recursively call EnterCriticalSection() and
- * TryEnterCriticalSection(), but must call LeaveCriticalSection() an
- * equal number of times.
- */
-void LeaveCriticalSection(WapiCriticalSection *section)
-{
-       int ret;
-       
-       ret = mono_mutex_unlock(&section->mutex);
-       g_assert (ret == 0);
-}
-