1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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
This commit is contained in:
kosaki 2010-05-28 12:28:32 +00:00
parent a51acf3689
commit 827a17bdbb
2 changed files with 6 additions and 1 deletions

View file

@ -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

View file

@ -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); \