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

* eval.c (rb_thread_restore_context): inhibit interrupts in

critical section while context switching.  [ruby-talk:64785]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@3508 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2003-02-19 16:27:47 +00:00
parent 0b78e04234
commit afca4f0cfd
2 changed files with 7 additions and 1 deletions

View file

@ -1,3 +1,8 @@
Thu Feb 20 01:23:59 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* eval.c (rb_thread_restore_context): inhibit interrupts in
critical section while context switching. [ruby-talk:64785]
Wed Feb 19 18:27:42 2003 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* node.h (nd_cpath): nested class/module declaration.

3
eval.c
View file

@ -7825,6 +7825,7 @@ static int
thread_switch(n)
int n;
{
rb_trap_immediate = (curr_thread->flags&0x100)?1:0;
switch (n) {
case 0:
return 0;
@ -7890,6 +7891,7 @@ rb_thread_restore_context(th, exit)
if (&v < th->stk_pos + th->stk_len) stack_extend(th, exit);
}
rb_trap_immediate = 0; /* inhibit interrupts from here */
ruby_frame = th->frame;
ruby_scope = th->scope;
ruby_class = th->klass;
@ -7898,7 +7900,6 @@ rb_thread_restore_context(th, exit)
ruby_dyna_vars = th->dyna_vars;
ruby_block = th->block;
scope_vmode = th->flags&SCOPE_MASK;
rb_trap_immediate = (th->flags&0x100)?1:0;
ruby_iter = th->iter;
prot_tag = th->tag;
tracing = th->tracing;