Project

General

Profile

Backport #5130 » thread_2.diff

normalperson (Eric Wong), 08/24/2011 09:31 AM

View differences:

thread.c
native_thread_init_stack(th);
}
#ifdef USE_SIGALTSTACK
void rb_register_sigaltstack(rb_thread_t *th);
#else
# define rb_register_sigaltstack(th) for(;0;)
#endif
static int
thread_start_func_2(rb_thread_t *th, VALUE *stack_start, VALUE *register_stack_start)
{
......
rb_thread_t *join_th;
rb_thread_t *main_th;
VALUE errinfo = Qnil;
# ifdef USE_SIGALTSTACK
void rb_register_sigaltstack(rb_thread_t *th);
if (GET_VM()->inhibit_thread_creation) {
thread_debug("not starting thread due to interpreter shutdown: %p\n", (void *)th);
thread_cleanup_func(th, FALSE);
st_delete_wrap(th->vm->living_threads, th->self);
return 1;
}
rb_register_sigaltstack(th);
# endif
ruby_thread_set_native(th);
(3-3/3)