Project

General

Profile

th_sigill.patch

wanabe (_ wanabe), 03/13/2010 10:37 PM

View differences:

signal.c (working copy)
1065 1065
    }
1066 1066
}
1067 1067

  
1068
void
1069
rb_signal_redefine_for_thread(void)
1070
{
1071
    static const int redefine_list[] = {SIGILL};
1072
    rb_vm_t *vm = GET_VM();
1073
    int i;
1074

  
1075
    for (i = 0; i < sizeof(redefine_list) / sizeof(int); i++) {
1076
	int sig = redefine_list[i];
1077
	if (vm->trap_list[sig].cmd) {
1078
	    ruby_signal(sig, sighandler);
1079
	}
1080
    }
1081
}
1068 1082

  
1069 1083
#ifdef RUBY_DEBUG_ENV
1070 1084
int ruby_enable_coredump = 0;
thread_win32.c (working copy)
466 466
    volatile HANDLE thread_id = th->thread_id;
467 467

  
468 468
    native_thread_init_stack(th);
469
    rb_signal_redefine_for_thread();
469 470
    th->native_thread_data.interrupt_event = CreateEvent(0, TRUE, FALSE, 0);
470 471

  
471 472
    /* run */