summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-22 04:26:44 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-04-22 04:26:44 +0000
commit707c50d3417f4e4c2e8bfb6ee3454e4c83d0062e (patch)
tree7f7b447f0a5054841a0820bec0dfe3ee55e81fa3
parent9c7707629608304a2eaf674a72af16c95ebc4f52 (diff)
* thread.c (rb_thread_stop_timer_thread): should clear
timer_thread_id after stopping it. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16136 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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;
}
}