diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-09-23 18:00:46 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-09-23 18:00:46 +0000 |
commit | f5cbe886b653aa2020f178e37996e0b81cb68b5e (patch) | |
tree | 5e127ee645f3522ee2c8556d3143fd09ba33be4a /node.h | |
parent | 3a412f28058b76685a87f83501d80cadd13b1d1c (diff) |
* eval.c (rb_add_threadswitch_hook): wrapper for unofficial APIs
in Mac OS X port. the use of them is strongly discouraged.
* eval.c (rb_remove_threadswitch_hook): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@29326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'node.h')
-rw-r--r-- | node.h | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -384,6 +384,21 @@ void rb_add_event_hook _((rb_event_hook_func_t,rb_event_t)); int rb_remove_event_hook _((rb_event_hook_func_t)); extern const rb_event_t rb_event_all; +#if defined RUBY_ENABLE_MACOSX_UNOFFICIAL_THREADSWITCH +typedef rb_event_t rb_threadswitch_event_t; + +#define RUBY_THREADSWITCH_SHIFT 8 +#define RUBY_THREADSWITCH_INIT (RUBY_EVENT_THREAD_INIT>>RUBY_THREADSWITCH_SHIFT) +#define RUBY_THREADSWITCH_FREE (RUBY_EVENT_THREAD_FREE>>RUBY_THREADSWITCH_SHIFT) +#define RUBY_THREADSWITCH_SAVE (RUBY_EVENT_THREAD_SAVE>>RUBY_THREADSWITCH_SHIFT) +#define RUBY_THREADSWITCH_RESTORE (RUBY_EVENT_THREAD_RESTORE>>RUBY_THREADSWITCH_SHIFT) + +typedef void (*rb_threadswitch_hook_func_t) _((rb_threadswitch_event_t,VALUE)); + +DEPRECATED(void *rb_add_threadswitch_hook _((rb_threadswitch_hook_func_t func))); +DEPRECATED(void rb_remove_threadswitch_hook _((void *handle))); +#endif + #if defined(HAVE_GETCONTEXT) && defined(HAVE_SETCONTEXT) #include <ucontext.h> #define USE_CONTEXT |