diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | thread.c | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Fri May 28 20:35:21 2010 KOSAKI Motohiro <kosaki.motohiro@gmail.com> + + * 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 <authorNari@gmail.com> * gc.c : use simple lazy sweep algorithm for response performance @@ -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); \ |