X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fmetadata%2Fthreadpool.h;h=129addd3adaa740693f322d88f00e44f03461cbb;hb=81d05c0ea48bc2194d4eb60cd197c20131c443d5;hp=ce5b20ae05f9d6e10578c41dc24ca42a57e2b373;hpb=4e04258a932f692b0fff61e944984767896f9ace;p=mono.git diff --git a/mono/metadata/threadpool.h b/mono/metadata/threadpool.h index ce5b20ae05f..129addd3ada 100644 --- a/mono/metadata/threadpool.h +++ b/mono/metadata/threadpool.h @@ -1,18 +1,42 @@ #ifndef _MONO_THREADPOOL_H_ #define _MONO_THREADPOOL_H_ -#include +#include #include -extern int mono_max_worker_threads; -extern int mono_worker_threads; +/* No managed code here */ +void mono_thread_pool_init (void) MONO_INTERNAL; MonoAsyncResult * mono_thread_pool_add (MonoObject *target, MonoMethodMessage *msg, - MonoDelegate *async_callback, MonoObject *state); + MonoDelegate *async_callback, MonoObject *state) MONO_INTERNAL; MonoObject * mono_thread_pool_finish (MonoAsyncResult *ares, MonoArray **out_args, - MonoObject **exc); + MonoObject **exc) MONO_INTERNAL; + +void mono_thread_pool_cleanup (void) MONO_INTERNAL; + +gboolean mono_thread_pool_remove_domain_jobs (MonoDomain *domain, int timeout) MONO_INTERNAL; + +void +ves_icall_System_Threading_ThreadPool_GetAvailableThreads (int *workerThreads, + int *completionPortThreads) MONO_INTERNAL; + +void +ves_icall_System_Threading_ThreadPool_GetMaxThreads (int *workerThreads, + int *completionPortThreads) MONO_INTERNAL; + +void +ves_icall_System_Threading_ThreadPool_GetMinThreads (gint *workerThreads, + gint *completionPortThreads) MONO_INTERNAL; + +MonoBoolean +ves_icall_System_Threading_ThreadPool_SetMinThreads (gint workerThreads, + gint completionPortThreads) MONO_INTERNAL; + +MonoBoolean +ves_icall_System_Threading_ThreadPool_SetMaxThreads (gint workerThreads, + gint completionPortThreads) MONO_INTERNAL; #endif