diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-04 11:32:16 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-04 11:32:16 +0000 |
commit | 1e3062ede1765f21c501068b3489c390c914e55f (patch) | |
tree | 8f2e09d2ca7299f49bd25ad410ce2dde8bc121d5 | |
parent | 05e476c941e41132d40b4bcbfcc7eea90cae7318 (diff) |
* 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
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | eval.c | 18 |
2 files changed, 19 insertions, 6 deletions
@@ -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> @@ -9001,8 +9001,10 @@ rb_thread_interrupt() if (curr_thread == main_thread) { rb_interrupt(); } - if (THREAD_SAVE_CONTEXT(curr_thread)) { - return; + 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,8 +9021,10 @@ rb_thread_signal_raise(sig) rb_raise(rb_eSignal, "SIG%s", sig); } rb_thread_ready(main_thread); - if (THREAD_SAVE_CONTEXT(curr_thread)) { - return; + if (!rb_thread_dead(curr_thread)) { + if (THREAD_SAVE_CONTEXT(curr_thread)) { + return; + } } th_signm = sig; curr_thread = main_thread; @@ -9072,8 +9076,10 @@ rb_thread_raise(argc, argv, th) rb_f_raise(argc, argv); } - if (!rb_thread_dead(curr_thread) && THREAD_SAVE_CONTEXT(curr_thread)) { - return th->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]); |