diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gc.c | 6 | ||||
-rw-r--r-- | thread_pthread.c | 2 |
3 files changed, 9 insertions, 4 deletions
@@ -1,3 +1,8 @@ +Fri Feb 27 18:01:20 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * gc.c (ruby_get_stack_grow_direction): no needs to use thread + here, and not initialized yet. [ruby-core:22439] + Fri Feb 27 17:45:25 2009 Nobuyoshi Nakada <nobu@ruby-lang.org> * file.c (file_load_ok): checks if regular file, except for the @@ -1102,10 +1102,10 @@ int ruby_stack_grow_direction; int ruby_get_stack_grow_direction(VALUE *addr) { - rb_thread_t *th = GET_THREAD(); - SET_STACK_END; + VALUE *end; + SET_MACHINE_STACK_END(&end); - if (STACK_END > addr) return ruby_stack_grow_direction = 1; + if (end > addr) return ruby_stack_grow_direction = 1; return ruby_stack_grow_direction = -1; } #endif diff --git a/thread_pthread.c b/thread_pthread.c index cb9511e000..91c5b42d67 100644 --- a/thread_pthread.c +++ b/thread_pthread.c @@ -275,7 +275,7 @@ ruby_init_stack(VALUE *addr native_main_thread.stack_start = STACK_END_ADDRESS; #else if (!native_main_thread.stack_start || - STACK_UPPER(&addr, + STACK_UPPER((VALUE *)(void *)&addr, native_main_thread.stack_start > addr, native_main_thread.stack_start < addr)) { native_main_thread.stack_start = addr; |