summaryrefslogtreecommitdiff
path: root/intern.h
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-24 09:41:41 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-02-24 09:41:41 +0000
commitf425798fdaca165c200091faf976c3cf9a52637d (patch)
tree1fa87d50ae9b1e650f40339023cd65f377f2d243 /intern.h
parent5374de14e34fcd5354289830ab7f2212884bc4f5 (diff)
* intern.h (rb_thread_blocking_region): add prototype.
* thread.c (BLOCKING_REGION): restore previous UBF. * thread.c (rb_thread_blocking_region): default UBF to interrupt in system dependent way by RB_UBF_DFL. + ubf_select() on posix system + ubf_handle() on Win32 + none on cygwin git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@11861 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'intern.h')
-rw-r--r--intern.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/intern.h b/intern.h
index 7b2a6a7e95..fcf553976f 100644
--- a/intern.h
+++ b/intern.h
@@ -536,6 +536,13 @@ VALUE rb_struct_getmember(VALUE, ID);
VALUE rb_struct_iv_get(VALUE, const char*);
VALUE rb_struct_s_members(VALUE);
VALUE rb_struct_members(VALUE);
+/* thread.c */
+typedef struct rb_thread_struct rb_thread_t;
+typedef void rb_unblock_function_t(rb_thread_t *);
+typedef VALUE rb_blocking_function_t(rb_thread_t *th, void *);
+VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data,
+ rb_unblock_function_t *ubf);
+#define RB_UBF_DFL ((rb_unblock_function_t *)-1)
/* time.c */
VALUE rb_time_new(time_t, time_t);
/* variable.c */