Project

General

Profile

Actions

Bug #10076

closed

2nd thread can't get mutex even though 1st thread released it (race)

Added by ledestin (Dmitry Maksyoma) almost 10 years ago. Updated almost 5 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.1.2p95 (2014-05-08 revision 45877) [i686-linux]
[ruby-core:63872]

Description

require 'thread'

m = Mutex.new

Thread.abort_on_exception = true
Thread.new {
  loop {
    m.synchronize {
      puts 'got mutex in thread'
      sleep 0.1
    }
  }
}

loop {
  m.synchronize {
    puts 'got mutex in loop'
    sleep 1
  }
  # Without sleep, the thread above has no chance of getting the mutex.
  #sleep 0.1
}

Files

monitor-test (344 Bytes) monitor-test ledestin (Dmitry Maksyoma), 07/19/2014 01:28 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0