* eval.c (rb_thread_interrupt, rb_thread_signal_raise): no need to

save dead thread context. (same as [ruby-dev:18322])
  (ruby-bugs-ja:PR#349)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2002-10-04 11:32:16 +00:00
parent 05e476c941
commit 1e3062ede1
2 changed files with 19 additions and 6 deletions

View File

@ -1,3 +1,9 @@
Fri Oct 4 20:25:38 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* eval.c (rb_thread_interrupt, rb_thread_signal_raise): no need to
save dead thread context. (same as [ruby-dev:18322])
(ruby-bugs-ja:PR#349)
Fri Oct 4 13:05:58 2002 WATANABE Hirofumi <eban@ruby-lang.org>
* configure.in (RUBY_PROG_GNU_LD): check whether the linker is GNU ld.
@ -279,6 +285,7 @@ Sat Sep 21 23:28:28 2002 Yukihiro Matsumoto <matz@ruby-lang.org>
Sat Sep 21 22:23:41 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* eval.c (rb_thread_raise): no need to save dead thread context.
[ruby-dev:18322]
Fri Sep 20 23:02:01 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>

8
eval.c
View File

@ -9001,9 +9001,11 @@ rb_thread_interrupt()
if (curr_thread == main_thread) {
rb_interrupt();
}
if (!rb_thread_dead(curr_thread)) {
if (THREAD_SAVE_CONTEXT(curr_thread)) {
return;
}
}
curr_thread = main_thread;
rb_thread_restore_context(curr_thread, RESTORE_INTERRUPT);
}
@ -9019,9 +9021,11 @@ rb_thread_signal_raise(sig)
rb_raise(rb_eSignal, "SIG%s", sig);
}
rb_thread_ready(main_thread);
if (!rb_thread_dead(curr_thread)) {
if (THREAD_SAVE_CONTEXT(curr_thread)) {
return;
}
}
th_signm = sig;
curr_thread = main_thread;
rb_thread_restore_context(curr_thread, RESTORE_SIGNAL);
@ -9072,9 +9076,11 @@ rb_thread_raise(argc, argv, th)
rb_f_raise(argc, argv);
}
if (!rb_thread_dead(curr_thread) && THREAD_SAVE_CONTEXT(curr_thread)) {
if (!rb_thread_dead(curr_thread)) {
if (THREAD_SAVE_CONTEXT(curr_thread)) {
return th->thread;
}
}
rb_scan_args(argc, argv, "11", &th_raise_argv[0], &th_raise_argv[1]);
rb_thread_ready(th);