Merge pull request #618 from knocte/aspnet_lru
[mono.git] / mono / utils / mono-threads.h
index f192dd70732e1e6fc42a06395bcad58941879ead..b30e9ac4c16716c201ce2cb1bf853b177014cadc 100644 (file)
@@ -13,9 +13,7 @@
 #include <mono/utils/mono-semaphore.h>
 #include <mono/utils/mono-stack-unwinding.h>
 #include <mono/utils/mono-linked-list-set.h>
-
-/* FIXME used for CRITICAL_SECTION replace with mono-mutex  */
-#include <mono/io-layer/io-layer.h>
+#include <mono/utils/mono-mutex.h>
 
 #include <glib.h>
 
@@ -98,8 +96,11 @@ typedef struct {
        MonoNativeThreadHandle native_handle; /* Valid on mach and android */
        int thread_state;
 
+       /*Tells if this thread was created by the runtime or not.*/
+       gboolean runtime_thread;
+
        /* suspend machinery, fields protected by the suspend_lock */
-       CRITICAL_SECTION suspend_lock;
+       mono_mutex_t suspend_lock;
        int suspend_count;
 
        MonoSemType finish_resume_semaphore;
@@ -109,6 +110,7 @@ typedef struct {
 #if (defined(_POSIX_VERSION) || defined(__native_client__)) && !defined (__MACH__)
        MonoSemType suspend_semaphore;
        gboolean syscall_break_signal;
+       gboolean suspend_can_continue;
 #endif
 
        /*In theory, only the posix backend needs this, but having it on mach/win32 simplifies things a lot.*/