X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fthreads.h;h=be0205002348e9931e8c6231de21a3bf207158b0;hb=3fb128ac0de7cca459098c2dc3359d81f5e48353;hp=068a63a9c03da7988d34889b4e4d0ecf7ebaffab;hpb=0443306d611d0830e27327e1f0a3ef3457dfa535;p=mono.git diff --git a/mono/io-layer/threads.h b/mono/io-layer/threads.h index 068a63a9c03..be020500234 100644 --- a/mono/io-layer/threads.h +++ b/mono/io-layer/threads.h @@ -40,30 +40,35 @@ G_BEGIN_DECLS typedef guint32 (*WapiThreadStart)(gpointer); typedef guint32 (*WapiApcProc)(gpointer); -extern gpointer CreateThread(WapiSecurityAttributes *security, - guint32 stacksize, WapiThreadStart start, - gpointer param, guint32 create, gsize *tid); /* NB tid is 32bit in MS API */ extern gpointer OpenThread (guint32 access, gboolean inherit, gsize tid); /* NB tid is 32bit in MS API */ extern void ExitThread(guint32 exitcode) G_GNUC_NORETURN; extern gboolean GetExitCodeThread(gpointer handle, guint32 *exitcode); extern gsize GetCurrentThreadId(void); /* NB return is 32bit in MS API */ extern gpointer GetCurrentThread(void); -extern guint32 ResumeThread(gpointer handle); -extern guint32 SuspendThread(gpointer handle); -extern guint32 mono_pthread_key_for_tls (guint32 idx); -extern guint32 TlsAlloc(void); -extern gboolean TlsFree(guint32 idx); -extern gpointer TlsGetValue(guint32 idx); -extern gboolean TlsSetValue(guint32 idx, gpointer value); extern void Sleep(guint32 ms); extern guint32 SleepEx(guint32 ms, gboolean alertable); -extern guint32 QueueUserAPC (WapiApcProc apc_callback, gpointer thread_handle, - gpointer param); /* Kludge alert! Making this visible outside io-layer is broken, but I * can't find any w32 call that will let me do this. */ extern void _wapi_thread_signal_self (guint32 exitstatus); +void wapi_thread_interrupt_self (void); +void wapi_interrupt_thread (gpointer handle); +void wapi_clear_interruption (void); +gboolean wapi_thread_set_wait_handle (gpointer handle); +void wapi_thread_clear_wait_handle (gpointer handle); +void wapi_self_interrupt (void); + +gpointer wapi_prepare_interrupt_thread (gpointer thread_handle); +void wapi_finish_interrupt_thread (gpointer wait_handle); + + +char* wapi_current_thread_desc (void); + +gpointer wapi_create_thread_handle (void); +void wapi_thread_handle_set_exited (gpointer handle, guint32 exitstatus); +void wapi_ref_thread_handle (gpointer handle); + G_END_DECLS #endif /* _WAPI_THREADS_H_ */