Bug #2616 ยป th_sigill.patch
signal.c (working copy) | ||
---|---|---|
}
|
||
}
|
||
void
|
||
rb_signal_redefine_for_thread(void)
|
||
{
|
||
static const int redefine_list[] = {SIGILL};
|
||
rb_vm_t *vm = GET_VM();
|
||
int i;
|
||
for (i = 0; i < sizeof(redefine_list) / sizeof(int); i++) {
|
||
int sig = redefine_list[i];
|
||
if (vm->trap_list[sig].cmd) {
|
||
ruby_signal(sig, sighandler);
|
||
}
|
||
}
|
||
}
|
||
#ifdef RUBY_DEBUG_ENV
|
||
int ruby_enable_coredump = 0;
|
thread_win32.c (working copy) | ||
---|---|---|
volatile HANDLE thread_id = th->thread_id;
|
||
native_thread_init_stack(th);
|
||
rb_signal_redefine_for_thread();
|
||
th->native_thread_data.interrupt_event = CreateEvent(0, TRUE, FALSE, 0);
|
||
/* run */
|