1 #ifndef _MONO_THREADPOOL_MICROSOFT_H_
2 #define _MONO_THREADPOOL_MICROSOFT_H_
6 typedef struct _MonoRuntimeWorkItem MonoRuntimeWorkItem;
7 typedef struct _MonoNativeOverlapped MonoNativeOverlapped;
10 mono_thread_pool_ms_init (void)
12 /* Initialization is done lazily */
16 mono_thread_pool_ms_init_tls (void)
18 /* The WSQ is now implemented in managed */
22 mono_thread_pool_ms_cleanup (void);
25 mono_thread_pool_ms_add (MonoObject *target, MonoMethodMessage *msg, MonoDelegate *async_callback, MonoObject *state);
27 mono_thread_pool_ms_finish (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc);
30 mono_thread_pool_ms_remove_domain_jobs (MonoDomain *domain, int timeout);
32 mono_thread_pool_ms_remove_socket (int sock);
35 mono_thread_pool_ms_suspend (void);
37 mono_thread_pool_ms_resume (void);
40 mono_thread_pool_ms_is_queue_array (MonoArray *arr)
42 /* The queue is in managed code */
47 ves_icall_System_Threading_MonoRuntimeWorkItem_ExecuteWorkItem (MonoRuntimeWorkItem *rwi);
50 ves_icall_System_Threading_Microsoft_ThreadPool_GetAvailableThreadsNative (gint *worker_threads, gint *completion_port_threads);
52 ves_icall_System_Threading_Microsoft_ThreadPool_GetMinThreadsNative (gint *worker_threads, gint *completion_port_threads);
54 ves_icall_System_Threading_Microsoft_ThreadPool_GetMaxThreadsNative (gint *worker_threads, gint *completion_port_threads);
56 ves_icall_System_Threading_Microsoft_ThreadPool_SetMinThreadsNative (gint worker_threads, gint completion_port_threads);
58 ves_icall_System_Threading_Microsoft_ThreadPool_SetMaxThreadsNative (gint worker_threads, gint completion_port_threads);
60 ves_icall_System_Threading_Microsoft_ThreadPool_InitializeVMTp (gboolean *enable_worker_tracking);
62 ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemComplete (void);
64 ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemProgressNative (void);
66 ves_icall_System_Threading_Microsoft_ThreadPool_ReportThreadStatus (gboolean is_working);
68 ves_icall_System_Threading_Microsoft_ThreadPool_RequestWorkerThread (void);
70 ves_icall_System_Threading_Microsoft_ThreadPool_PostQueuedCompletionStatus (MonoNativeOverlapped *native_overlapped);
72 ves_icall_System_Threading_Microsoft_ThreadPool_BindIOCompletionCallbackNative (gpointer file_handle);
75 ves_icall_System_Threading_Microsoft_ThreadPool_IsThreadPoolHosted (void)
80 #endif // _MONO_THREADPOOL_MICROSOFT_H_