1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
eregon 2019-02-21 15:38:59 +00:00
parent b8e389a0f3
commit da7976235f
75 changed files with 940 additions and 258 deletions

View file

@ -53,4 +53,31 @@ describe "Thread.new" do
ScratchPad.recorded.should == [:good, :in_thread]
end
it "releases Mutexes held by the Thread when the Thread finishes" do
m1 = Mutex.new
m2 = Mutex.new
t = Thread.new {
m1.lock
m1.locked?.should == true
m2.lock
m2.locked?.should == true
}
t.join
m1.locked?.should == false
m2.locked?.should == false
end
it "releases Mutexes held by the Thread when the Thread finishes, also with Mutex#synchronize" do
m = Mutex.new
t = Thread.new {
m.synchronize {
m.unlock
m.lock
}
m.lock
m.locked?.should == true
}
t.join
m.locked?.should == false
end
end