diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-10 05:19:47 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2011-07-10 05:19:47 +0000 |
commit | 919978a8d9e25d52697c0677c1f2c0ccb50b4492 (patch) | |
tree | b7fa01a79e5e3779306705c9981712fb24f12230 | |
parent | ebd61e5f289958fbba5f54d9ff6bf916de524819 (diff) | |
download | ruby-919978a8d9e25d52697c0677c1f2c0ccb50b4492.tar.gz |
* internal.h (rb_thread_call_with_gvl, rb_thread_call_without_gvl):
make them visible as experimental C APIs. fixes Feature #4328.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32486 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | internal.h | 11 |
2 files changed, 14 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Sun Jul 10 14:13:50 2011 Koichi Sasada <ko1@atdot.net> + + * internal.h (rb_thread_call_with_gvl, rb_thread_call_without_gvl): + make them visible as experimental C APIs. fixes Feature #4328. + Sun Jul 10 12:18:00 2011 Kenta Murata <mrkn@mrkn.jp> * ext/bigdecimal/bigdecimal.c (BigDecimal_power): support non-integral diff --git a/internal.h b/internal.h index a5b9297c04..a6c633ba3f 100644 --- a/internal.h +++ b/internal.h @@ -164,7 +164,6 @@ struct timeval rb_time_timeval(VALUE); VALUE rb_obj_is_mutex(VALUE obj); VALUE ruby_suppress_tracing(VALUE (*func)(VALUE, int), VALUE arg, int always); void rb_thread_execute_interrupts(VALUE th); -void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1); void rb_clear_trace_func(void); VALUE rb_thread_backtrace(VALUE thval); VALUE rb_get_coverages(void); @@ -199,8 +198,16 @@ void Init_prelude(void); #if defined __GNUC__ && __GNUC__ >= 4 #pragma GCC visibility push(default) #endif -VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd); const char *rb_objspace_data_type_name(VALUE obj); + +/* experimental. these APIs can be changed. */ +VALUE rb_thread_io_blocking_region(rb_blocking_function_t *func, void *data1, int fd); + +void *rb_thread_call_with_gvl(void *(*func)(void *), void *data1); +VALUE rb_thread_call_without_gvl( + rb_blocking_function_t *func, void *data1, + rb_unblock_function_t *ubf, void *data2); + #if defined __GNUC__ && __GNUC__ >= 4 #pragma GCC visibility pop #endif |