[threads] Inline thread_cleanup into mono_thread_detach_internal (#4119)
[mono.git] / mono / metadata / threadpool-ms.h
index fa611ee8302deaf40d6e7407ffd79d4612a3b328..1603e3a15d998d18b152aa88eb104ec6e4ee1e03 100644 (file)
@@ -9,23 +9,15 @@
 
 #define SMALL_STACK (sizeof (gpointer) * 32 * 1024)
 
-enum {
-       STATUS_NOT_INITIALIZED,
-       STATUS_INITIALIZING,
-       STATUS_INITIALIZED,
-       STATUS_CLEANING_UP,
-       STATUS_CLEANED_UP,
-};
-
 typedef struct _MonoNativeOverlapped MonoNativeOverlapped;
 
 void
 mono_threadpool_ms_cleanup (void);
 
 MonoAsyncResult *
-mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMethod *method, gpointer *params);
+mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMethod *method, gpointer *params, MonoError *error);
 MonoObject *
-mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc);
+mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc, MonoError *error);
 
 gboolean
 mono_threadpool_ms_remove_domain_jobs (MonoDomain *domain, int timeout);
@@ -67,7 +59,7 @@ ves_icall_System_Threading_ThreadPool_IsThreadPoolHosted (void);
 
 /* Internals */
 
-void
-mono_threadpool_ms_enqueue_work_item (MonoDomain *domain, MonoObject *work_item);
+gboolean
+mono_threadpool_ms_enqueue_work_item (MonoDomain *domain, MonoObject *work_item, MonoError *error);
 
 #endif // _MONO_THREADPOOL_MICROSOFT_H_