diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-24 09:41:41 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-02-24 09:41:41 +0000 |
commit | f425798fdaca165c200091faf976c3cf9a52637d (patch) | |
tree | 1fa87d50ae9b1e650f40339023cd65f377f2d243 /intern.h | |
parent | 5374de14e34fcd5354289830ab7f2212884bc4f5 (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.h | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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 */ |