X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Fio-layer%2Fthreads.h;h=068a63a9c03da7988d34889b4e4d0ecf7ebaffab;hb=2cf315cb6052df9b26d8560318f702c1a621f9c6;hp=996788b9d487ed822ca876c0a728663a291fdd5b;hpb=ff228e1c801bda9666b6edab3ee962e05edcf480;p=mono.git diff --git a/mono/io-layer/threads.h b/mono/io-layer/threads.h index 996788b9d48..068a63a9c03 100644 --- a/mono/io-layer/threads.h +++ b/mono/io-layer/threads.h @@ -18,6 +18,8 @@ #include #include +G_BEGIN_DECLS + #define TLS_MINIMUM_AVAILABLE 64 #define TLS_OUT_OF_INDEXES 0xFFFFFFFF @@ -40,11 +42,11 @@ typedef guint32 (*WapiApcProc)(gpointer); extern gpointer CreateThread(WapiSecurityAttributes *security, guint32 stacksize, WapiThreadStart start, - gpointer param, guint32 create, guint32 *tid); -extern gpointer OpenThread (guint32 access, gboolean inherit, guint32 tid); + 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 guint32 GetCurrentThreadId(void); +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); @@ -58,4 +60,10 @@ 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); + +G_END_DECLS #endif /* _WAPI_THREADS_H_ */