diff --git a/ChangeLog b/ChangeLog index 67f2c22721..db84bec3a9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 28 20:35:21 2010 KOSAKI Motohiro + + * thread.c (blocking_region_begin): avoid RUBY_VM_CHECK_INTS() + call during GVL state transition. [Bug#3354] [ruby-dev:41435] + Fri May 28 19:37:47 2010 Narihiro Nakamura * gc.c : use simple lazy sweep algorithm for response performance diff --git a/thread.c b/thread.c index 1956721da7..dcf7a2e838 100644 --- a/thread.c +++ b/thread.c @@ -125,8 +125,8 @@ static inline void blocking_region_end(rb_thread_t *th, struct rb_blocking_regio #define blocking_region_begin(th, region, func, arg) \ do { \ (region)->prev_status = (th)->status; \ - (th)->blocking_region_buffer = (region); \ set_unblock_function((th), (func), (arg), &(region)->oldubf); \ + (th)->blocking_region_buffer = (region); \ (th)->status = THREAD_STOPPED; \ thread_debug("enter blocking region (%p)\n", (void *)(th)); \ RB_GC_SAVE_MACHINE_CONTEXT(th); \