mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* eval.c (ruby_cleanup): delay THREAD_KILLED timing.
It should be located just before rb_thread_terminate_all(). git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37958 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
3d47e7b285
commit
98ed344ae9
2 changed files with 8 additions and 3 deletions
|
@ -1,3 +1,8 @@
|
|||
Thu Nov 29 09:36:09 2012 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* eval.c (ruby_cleanup): delay THREAD_KILLED timing.
|
||||
It should be located just before rb_thread_terminate_all().
|
||||
|
||||
Thu Nov 29 09:10:17 2012 Koichi Sasada <ko1@atdot.net>
|
||||
|
||||
* vm_backtrace.c (vm_backtrace_to_ary): support range argument
|
||||
|
|
6
eval.c
6
eval.c
|
@ -159,9 +159,6 @@ ruby_cleanup(volatile int ex)
|
|||
rb_thread_t *th = GET_THREAD();
|
||||
int nerr;
|
||||
|
||||
/* protect from thread.raise */
|
||||
th->status = THREAD_KILLED;
|
||||
|
||||
rb_threadptr_interrupt(th);
|
||||
rb_threadptr_check_signal(th);
|
||||
PUSH_TAG();
|
||||
|
@ -180,6 +177,9 @@ ruby_cleanup(volatile int ex)
|
|||
}
|
||||
POP_TAG();
|
||||
|
||||
/* protect from Thread#raise */
|
||||
th->status = THREAD_KILLED;
|
||||
|
||||
errs[0] = th->errinfo;
|
||||
PUSH_TAG();
|
||||
if ((state = EXEC_TAG()) == 0) {
|
||||
|
|
Loading…
Reference in a new issue