diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | cont.c | 3 |
2 files changed, 6 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Tue Oct 12 22:18:15 2010 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * cont.c (fiber_setcontext): missing variable definition. + Tue Oct 12 19:25:13 2010 NARUSE, Yui <naruse@ruby-lang.org> * error.c (exc_to_s): use OBJ_INFECT. @@ -498,7 +498,7 @@ fiber_set_stack_location(void) VALUE *ptr; SET_MACHINE_STACK_END(&ptr); - th->machine_stack_start = (void*)(((VALUE)ptr & RB_PAGE_MASK) + STACK_UPPER(&ptr, 0, RB_PAGE_SIZE)); + th->machine_stack_start = (void*)(((VALUE)ptr & RB_PAGE_MASK) + STACK_UPPER((void *)&ptr, 0, RB_PAGE_SIZE)); } static VOID CALLBACK @@ -596,6 +596,7 @@ fiber_setcontext(rb_fiber_t *newfib, rb_fiber_t *oldfib) /* save oldfib's machine stack */ if (oldfib->status != TERMINATED) { + STACK_GROW_DIR_DETECTION; SET_MACHINE_STACK_END(&th->machine_stack_end); if (STACK_DIR_UPPER(0, 1)) { oldfib->cont.machine_stack_size = th->machine_stack_start - th->machine_stack_end; |