From 6244e502cc12a7b8c5698740d3b5b355c1695e37 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 27 Aug 2007 16:48:14 +0000 Subject: * thread.c: fix Mutex to be interruptable lock. * thread_win32.ci, thread_win32.h, thread_pthread.ci, thread_pthread.h: prepare native_cond_*() which are based on pthread_cond_*() spec. * prelude.rb: fix Mutex#synchronize method. * vm_core.h, include/ruby/intern.h: change unblock function interface (to pass some user data). * file.c, process.c: ditto. * benchmark/bm_vm2_mutex.rb: add a benchmark for mutex. * benchmark/bm_vm3_thread_mutex.rb: add a benchmark for mutex with contension. * benchmark/run.rb: fix to remove ENV['RUBYLIB'] for matzruby. * test/ruby/test_thread.rb: add a test. * common.mk: fix benchmark options. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13290 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/intern.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/ruby') diff --git a/include/ruby/intern.h b/include/ruby/intern.h index ed16c73d97..7b1ab6aebe 100644 --- a/include/ruby/intern.h +++ b/include/ruby/intern.h @@ -533,10 +533,10 @@ 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 void rb_unblock_function_t(rb_thread_t *, void *); 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); +VALUE rb_thread_blocking_region(rb_blocking_function_t *func, void *data1, + rb_unblock_function_t *ubf, void *data2); #define RB_UBF_DFL ((rb_unblock_function_t *)-1) VALUE rb_mutex_new(void); VALUE rb_mutex_locked_p(VALUE mutex); -- cgit v1.2.3