summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--bootstraptest/test_knownbug.rb4
-rw-r--r--bootstraptest/test_thread.rb5
-rw-r--r--thread.c1
4 files changed, 11 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index b5e0859ae2..e33202e2cb 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Apr 22 13:19:48 2008 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * thread.c (rb_thread_stop_timer_thread): should clear
+ timer_thread_id after stopping it.
+
Tue Apr 22 13:12:58 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* thread.c (thread_join): remove the current thread from the join list
diff --git a/bootstraptest/test_knownbug.rb b/bootstraptest/test_knownbug.rb
index cbec6bc5dd..87efa9f968 100644
--- a/bootstraptest/test_knownbug.rb
+++ b/bootstraptest/test_knownbug.rb
@@ -155,7 +155,3 @@ assert_equal 'ok', %q{
:ng
end
}, "[ruby-dev:34236]"
-
-assert_normal_exit %q{
- exec "/"
-}
diff --git a/bootstraptest/test_thread.rb b/bootstraptest/test_thread.rb
index 873e955291..fde04a8d42 100644
--- a/bootstraptest/test_thread.rb
+++ b/bootstraptest/test_thread.rb
@@ -229,3 +229,8 @@ assert_finish 3, %{
end
th.join
}
+
+assert_normal_exit %q{
+ STDERR.reopen(STDOUT)
+ exec "/"
+}
diff --git a/thread.c b/thread.c
index bcabb59ec1..2f1ff92e8f 100644
--- a/thread.c
+++ b/thread.c
@@ -2008,6 +2008,7 @@ rb_thread_stop_timer_thread(void)
if (timer_thread_id) {
system_working = 0;
native_thread_join(timer_thread_id);
+ timer_thread_id = 0;
}
}