ICALL(MTHREADP_7, "NotifyWorkItemComplete", ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemComplete)
ICALL(MTHREADP_8, "NotifyWorkItemProgressNative", ves_icall_System_Threading_Microsoft_ThreadPool_NotifyWorkItemProgressNative)
ICALL(MTHREADP_9, "PostQueuedCompletionStatus", ves_icall_System_Threading_Microsoft_ThreadPool_PostQueuedCompletionStatus)
-ICALL(MTHREADP_10, "RegisterWaitForSingleObjectNative", ves_icall_System_Threading_Microsoft_ThreadPool_RegisterWaitForSingleObjectNative)
ICALL(MTHREADP_11, "ReportThreadStatus", ves_icall_System_Threading_Microsoft_ThreadPool_ReportThreadStatus)
ICALL(MTHREADP_12, "RequestWorkerThread", ves_icall_System_Threading_Microsoft_ThreadPool_RequestWorkerThread)
ICALL(MTHREADP_13, "SetMaxThreadsNative", ves_icall_System_Threading_Microsoft_ThreadPool_SetMaxThreadsNative)
gpointer event_handle;
};
-/* Keep in sync with System.Threading.RegisteredWaitHandleSafe */
-typedef struct _MonoRegisteredWaitHandleSafe MonoRegisteredWaitHandleSafe;
-struct _MonoRegisteredWaitHandleSafe {
- MonoObject object;
- gpointer registered_wait_handle;
- MonoWaitHandle *internal_wait_object;
- gboolean release_needed; // init: false
- volatile gint32 lock; // initt: 0
-};
-
-/* Keep in sync with System.Threading.RegisteredWaitHandle */
-struct _MonoRegisteredWaitHandle {
- MonoObject object;
- MonoRegisteredWaitHandleSafe *internal_registered_wait;
-};
-
/* Keep in sync with the System.MonoAsyncCall class which provides GC tracking */
typedef struct _MonoAsyncCall MonoAsyncCall;
struct _MonoAsyncCall {
return FALSE;
}
-gpointer
-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)
-{
- // FIXME
- mono_raise_exception (mono_get_exception_not_implemented (NULL));
- return NULL;
-}
-
gboolean
ves_icall_System_Threading_Microsoft_ThreadPool_BindIOCompletionCallbackNative (gpointer file_handle)
{
#include <glib.h>
typedef struct _MonoRuntimeWorkItem MonoRuntimeWorkItem;
-typedef struct _MonoRegisteredWaitHandle MonoRegisteredWaitHandle;
typedef struct _MonoNativeOverlapped MonoNativeOverlapped;
static void
ves_icall_System_Threading_Microsoft_ThreadPool_RequestWorkerThread (void);
gboolean
ves_icall_System_Threading_Microsoft_ThreadPool_PostQueuedCompletionStatus (MonoNativeOverlapped *native_overlapped);
-gpointer
-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);
gboolean
ves_icall_System_Threading_Microsoft_ThreadPool_BindIOCompletionCallbackNative (gpointer file_handle);