New test.
[mono.git] / mono / metadata / threads-types.h
index 5d967331fde72f9963a6d50fa1cf86331c0b1ca8..c1a625e394e1b4b250cf1ad27b7210169a809a2d 100644 (file)
@@ -16,6 +16,7 @@
 
 #include <mono/io-layer/io-layer.h>
 #include "mono/utils/mono-compiler.h"
+#include "mono/utils/mono-membar.h"
 
 /* This is a copy of System.Threading.ThreadState */
 typedef enum {
@@ -44,7 +45,7 @@ typedef void (*MonoThreadNotifyPendingExcFunc) (void);
 #define SPECIAL_STATIC_THREAD 1
 #define SPECIAL_STATIC_CONTEXT 2
 
-#ifdef PLATFORM_WIN32
+#ifdef HOST_WIN32
 typedef SECURITY_ATTRIBUTES WapiSecurityAttributes;
 typedef LPTHREAD_START_ROUTINE WapiThreadStart;
 #endif
@@ -152,6 +153,8 @@ void mono_thread_internal_stop (MonoInternalThread *thread) MONO_INTERNAL;
 
 gboolean mono_thread_internal_has_appdomain_ref (MonoInternalThread *thread, MonoDomain *domain) MONO_INTERNAL;
 
+void mono_thread_internal_reset_abort (MonoInternalThread *thread) MONO_INTERNAL;
+
 void mono_alloc_special_static_data_free (GHashTable *special_static_fields) MONO_INTERNAL;
 void mono_thread_free_local_slot_values (int slot, MonoBoolean thread_local) MONO_INTERNAL;
 void mono_thread_current_check_pending_interrupt (void) MONO_INTERNAL;
@@ -202,4 +205,27 @@ void mono_thread_set_execution_context (MonoObject *ec) MONO_INTERNAL;
 void mono_runtime_set_has_tls_get (gboolean val) MONO_INTERNAL;
 gboolean mono_runtime_has_tls_get (void) MONO_INTERNAL;
 
+int mono_thread_get_abort_signal (void) MONO_INTERNAL;
+
+void mono_thread_abort_all_other_threads (void) MONO_INTERNAL;
+void mono_thread_suspend_all_other_threads (void) MONO_INTERNAL;
+gboolean mono_threads_abort_appdomain_threads (MonoDomain *domain, int timeout) MONO_INTERNAL;
+
+void mono_thread_push_appdomain_ref (MonoDomain *domain) MONO_INTERNAL;
+void mono_thread_pop_appdomain_ref (void) MONO_INTERNAL;
+gboolean mono_thread_has_appdomain_ref (MonoThread *thread, MonoDomain *domain) MONO_INTERNAL;
+
+void mono_threads_clear_cached_culture (MonoDomain *domain) MONO_INTERNAL;
+
+MonoException* mono_thread_request_interruption (mono_bool running_managed) MONO_INTERNAL;
+gboolean mono_thread_interruption_requested (void) MONO_INTERNAL;
+void mono_thread_interruption_checkpoint (void) MONO_INTERNAL;
+void mono_thread_force_interruption_checkpoint (void) MONO_INTERNAL;
+gint32* mono_thread_interruption_request_flag (void) MONO_INTERNAL;
+
+uint32_t mono_alloc_special_static_data (uint32_t static_type, uint32_t size, uint32_t align, uintptr_t *bitmap, int max_set) MONO_INTERNAL;
+void*    mono_get_special_static_data   (uint32_t offset) MONO_INTERNAL;
+
+MonoException* mono_thread_resume_interruption (void) MONO_INTERNAL;
+
 #endif /* _MONO_METADATA_THREADS_TYPES_H_ */