1 #ifndef _MONO_THREADPOOL_MICROSOFT_H_
2 #define _MONO_THREADPOOL_MICROSOFT_H_
6 typedef struct _MonoRuntimeWorkItem MonoRuntimeWorkItem;
7 typedef struct _MonoRegisteredWaitHandle MonoRegisteredWaitHandle;
8 typedef struct _MonoNativeOverlapped MonoNativeOverlapped;
11 mono_thread_pool_ms_init (void)
13 /* Initialization is done lazily */
17 mono_thread_pool_ms_init_tls (void)
19 /* The WSQ is now implemented in managed */
23 mono_thread_pool_ms_cleanup (void);
26 mono_thread_pool_ms_add (MonoObject *target, MonoMethodMessage *msg, MonoDelegate *async_callback, MonoObject *state);
28 mono_thread_pool_ms_finish (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc);
31 mono_thread_pool_ms_remove_domain_jobs (MonoDomain *domain, int timeout);
33 mono_thread_pool_ms_remove_socket (int sock);
36 mono_thread_pool_ms_suspend (void);
38 mono_thread_pool_ms_resume (void);
41 mono_thread_pool_ms_is_queue_array (MonoArray *arr)
43 /* The queue is in managed code */
48 ves_icall_System_Threading_MonoRuntimeWorkItem_ExecuteWorkItem (MonoRuntimeWorkItem *rwi);
51 ves_icall_System_Threading_Microsoft_ThreadPool_GetAvailableThreadsNative (gint *worker_threads, gint *completion_port_threads);
53 ves_icall_System_Threading_Microsoft_ThreadPool_GetMinThreadsNative (gint *worker_threads, gint *completion_port_threads);
55 ves_icall_System_Threading_Microsoft_ThreadPool_GetMaxThreadsNative (gint *worker_threads, gint *completion_port_threads);
57 ves_icall_System_Threading_Microsoft_ThreadPool_SetMinThreadsNative (gint worker_threads, gint completion_port_threads);
59 ves_icall_System_Threading_Microsoft_ThreadPool_SetMaxThreadsNative (gint worker_threads, gint completion_port_threads);
61 ves_icall_System_Threading_Microsoft_ThreadPool_InitializeVMTp (gboolean *enable_worker_tracking);
63 ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemComplete (void);
65 ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemProgressNative (void);
67 ves_icall_System_Threading_Microsoft_ThreadPool_ReportThreadStatus (gboolean is_working);
69 ves_icall_System_Threading_Microsoft_ThreadPool_RequestWorkerThread (void);
71 ves_icall_System_Threading_Microsoft_ThreadPool_PostQueuedCompletionStatus (MonoNativeOverlapped *native_overlapped);
73 ves_icall_System_Threading_Microsoft_ThreadPool_RegisterWaitForSingleObjectNative (MonoWaitHandle *wait_handle, MonoObject *state, guint timeout_internal, gboolean execute_only_once, MonoRegisteredWaitHandle *registered_wait_handle, gint stack_mark, gboolean compress_stack);
75 ves_icall_System_Threading_Microsoft_ThreadPool_BindIOCompletionCallbackNative (gpointer file_handle);
78 ves_icall_System_Threading_Microsoft_ThreadPool_IsThreadPoolHosted (void)
83 #endif // _MONO_THREADPOOL_MICROSOFT_H_