From f2433f89b4dc7b7fb0661d3d5ce50eb6c1d9777c Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Mon, 10 Jun 1996 11:58:20 -0400 Subject: (objc_set_thread_callback): New function. (objc_thread_callback): Typedef for the hook function. From-SVN: r12260 --- gcc/objc/thr.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'gcc/objc/thr.h') diff --git a/gcc/objc/thr.h b/gcc/objc/thr.h index 9cc81f5..faf797b 100644 --- a/gcc/objc/thr.h +++ b/gcc/objc/thr.h @@ -75,6 +75,21 @@ _objc_thread_t objc_thread_detach(SEL selector, id object, id argument); int objc_mutex_lock_x(_objc_mutex_t mutex, const char *f, int l); int objc_mutex_unlock_x(_objc_mutex_t mutex, const char *f, int l); +/* + Use this to set the hook function that will be called when the + runtime initially becomes multi threaded. + The hook function is only called once, meaning only when the + 2nd thread is spawned, not for each and every thread. + + It returns the previous hook function or NULL if there is none. + + A program outside of the runtime could set this to some function so + it can be informed; for example, the GNUstep Base Library sets it + so it can implement the NSBecomingMultiThreaded notification. + */ +typedef void (*objc_thread_callback)(); +objc_thread_callback objc_set_thread_callback(objc_thread_callback func); + /* For debugging of locks, uncomment these two macros: */ /* #define objc_mutex_lock(x) objc_mutex_lock_x(x, __FILE__, __LINE__) */ /* #define objc_mutex_unlock(x) objc_mutex_unlock_x(x, __FILE__, __LINE__)*/ -- cgit v1.1