зеркало из https://github.com/github/ruby.git
thread_pthread.c: check stack on co-routine case
* thread_pthread.c (ruby_init_stack): check stack bounds even if get_main_stack succeeded, on the "co-routine" case. https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56060 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
7615362d64
Коммит
dcc24cef2c
|
@ -1,3 +1,9 @@
|
|||
Sat Sep 3 11:28:29 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* thread_pthread.c (ruby_init_stack): check stack bounds even if
|
||||
get_main_stack succeeded, on the "co-routine" case.
|
||||
https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413
|
||||
|
||||
Fri Sep 2 16:06:59 2016 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||
|
||||
* internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos. use the macro
|
||||
|
|
|
@ -749,7 +749,7 @@ ruby_init_stack(volatile VALUE *addr
|
|||
native_main_thread.stack_maxsize = size;
|
||||
native_main_thread.stack_start = stackaddr;
|
||||
reserve_stack(stackaddr, size);
|
||||
return;
|
||||
goto bound_check;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -797,6 +797,9 @@ ruby_init_stack(volatile VALUE *addr
|
|||
#endif
|
||||
}
|
||||
|
||||
#if MAINSTACKADDR_AVAILABLE
|
||||
bound_check:
|
||||
#endif
|
||||
/* If addr is out of range of main-thread stack range estimation, */
|
||||
/* it should be on co-routine (alternative stack). [Feature #2294] */
|
||||
{
|
||||
|
|
Загрузка…
Ссылка в новой задаче