This project is closed and read-only.
Backport #5130 » thread_2.diff
| 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);
|
||
- « Previous
- 1
- 2
- 3
- Next »