diff options
author | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-28 12:28:32 +0000 |
---|---|---|
committer | kosaki <kosaki@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2010-05-28 12:28:32 +0000 |
commit | 827a17bdbbadc27ddcb602a761e4af1295ba60e4 (patch) | |
tree | ac6116990b800cea8027a15679c5ce7195fc48e7 | |
parent | a51acf36898f819d5da89165d394d638e505d78b (diff) | |
download | ruby-827a17bdbbadc27ddcb602a761e4af1295ba60e4.tar.gz |
* thread.c (blocking_region_begin): avoid RUBY_VM_CHECK_INTS()
call during GVL state transition. [Bug#3354] [ruby-dev:41435]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28055 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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); \ |