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 | 17c75817d4decdb258e4ceb5e2ae705dd80d70f2 (patch) | |
| tree | 8f2e09d2ca7299f49bd25ad410ce2dde8bc121d5 | |
| parent | cce94d4e655ca836a1fbc87729ce3a212de85f7f (diff) | |
| download | ruby-17c75817d4decdb258e4ceb5e2ae705dd80d70f2.tar.gz ruby-17c75817d4decdb258e4ceb5e2ae705dd80d70f2.tar.xz ruby-17c75817d4decdb258e4ceb5e2ae705dd80d70f2.zip | |
* 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: http://svn.ruby-lang.org/repos/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]); |
