summaryrefslogtreecommitdiff
path: root/node.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-23 18:00:46 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2010-09-23 18:00:46 +0000
commitf5cbe886b653aa2020f178e37996e0b81cb68b5e (patch)
tree5e127ee645f3522ee2c8556d3143fd09ba33be4a /node.h
parent3a412f28058b76685a87f83501d80cadd13b1d1c (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.h15
1 files changed, 15 insertions, 0 deletions
diff --git a/node.h b/node.h
index 3dd8e75d22..c664c28fcd 100644
--- a/node.h
+++ b/node.h
@@ -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