summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/ruby/test_thread.rb15
2 files changed, 14 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 1a04ef0c45..1e58a588ee 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 25 22:46:01 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * test/ruby/test_thread.rb (test_status_and_stop_p): reduce the risk
+ of race condition.
+
Mon Aug 25 22:39:57 2008 Yusuke Endoh <mame@tsg.ne.jp>
* lib/irb/extend-command.rb (def_extend_command): check number of
diff --git a/test/ruby/test_thread.rb b/test/ruby/test_thread.rb
index 043917f2ec..cd99cdc401 100644
--- a/test/ruby/test_thread.rb
+++ b/test/ruby/test_thread.rb
@@ -299,19 +299,22 @@ class TestThread < Test::Unit::TestCase
d = Thread.new { sleep }
e = Thread.current
sleep 0.5
- d.kill
assert_equal(nil, a.status)
+ assert(a.stop?)
+
assert_equal("sleep", b.status)
+ assert(b.stop?)
+
assert_equal(false, c.status)
assert_match(/^#<TestThread::Thread:.* dead>$/, c.inspect)
- assert_equal("aborting", d.status)
- assert_equal("run", e.status)
-
- assert(a.stop?)
- assert(b.stop?)
assert(c.stop?)
+
+ d.kill
+ assert_equal("aborting", d.status)
assert(!d.stop?)
+
+ assert_equal("run", e.status)
assert(!e.stop?)
ensure