mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
clear stack_end
.
* cont.c (cont_save_thread): clear only `stack_end`. Clearing tells GC mark function to ignore this macine stack (not allocated yet). `stack_start` will be used by machine stack store/restore phase (on FIBER_USE_NATIVE == 0), so that only `stack_end` is cleared. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@59829 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
d446f15c97
commit
525532ff43
1 changed files with 2 additions and 4 deletions
6
cont.c
6
cont.c
|
@ -485,16 +485,14 @@ cont_save_thread(rb_context_t *cont, rb_thread_t *th)
|
|||
/* save thread context */
|
||||
sth->ec = th->ec;
|
||||
|
||||
#if FIBER_USE_NATIVE
|
||||
/* saved_thread->machine.stack_(start|end) should be NULL */
|
||||
/* saved_thread->machine.stack_end should be NULL */
|
||||
/* because it may happen GC afterward */
|
||||
sth->ec.machine.stack_start = NULL;
|
||||
sth->ec.machine.stack_end = NULL;
|
||||
|
||||
#ifdef __ia64
|
||||
sth->ec.machine.register_stack_start = NULL;
|
||||
sth->ec.machine.register_stack_end = NULL;
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
static void
|
||||
|
|
Loading…
Reference in a new issue