[MacRuby-devel] [MacRuby] #789: An Error does not occur when DeadLock occurred in Thread/Mutex.

MacRuby ruby-noreply at macosforge.org
Tue Jul 13 20:26:07 PDT 2010


#789: An Error does not occur when DeadLock occurred in Thread/Mutex.
----------------------------------+-----------------------------------------
 Reporter:  watson1978@…          |       Owner:  lsansonetti@…        
     Type:  defect                |      Status:  new                  
 Priority:  blocker               |   Milestone:                       
Component:  MacRuby               |    Keywords:                       
----------------------------------+-----------------------------------------
 Test Script:
 {{{
 $ cat test_deadlock_1.rb
 Thread.new { Thread.stop }
 Thread.stop
 }}}

 {{{
 $ cat test_deadlock_2.rb
 Thread.current.join
 }}}

 {{{
 $ cat test_deadlock_3.rb
 m1 = Mutex.new
 m2 = Mutex.new

 Thread.new {
   m1.lock
   sleep 1
   m2.lock
 }

 p "m2.lock"
 m2.lock

 p "sleep 1"
 sleep 1

 p "m1.lock"
 m1.lock
 }}}

 Result of Ruby 1.9.1:
 {{{
 $ ruby test_deadlock_1.rb
 test_deadlock_1.rb:2:in `stop': deadlock detected (fatal)
         from test_deadlock_1.rb:2:in `<main>'

 $ ruby test_deadlock_2.rb
 test_deadlock_2.rb:1:in `join': deadlock detected (fatal)
         from test_deadlock_2.rb:1:in `<main>'

 $ ruby test_deadlock_3.rb
 "m2.lock"
 "sleep 1"
 "m1.lock"
 test_deadlock_3.rb:17:in `lock': deadlock detected (fatal)
         from test_deadlock_3.rb:17:in `<main>'
 }}}

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/789>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list