Issue #3212 has been updated by Sylvain Joyeux.


Example script for my last update

  cv    = ConditionVariable.new
  mutex = Mutex.new

  other_t = Thread.new do
    mutex.synchronize do
        begin
            loop do
                STDERR.puts "waiting"
                cv.wait(mutex)
            end
        ensure
            waiters = cv.instance_variable_get(:@waiters)
            if !waiters.empty?
                STDERR.puts "@waiters is not empty"
            end
        end
    end
  end

  sleep 1
  other_t.raise Interrupt if other_t
  other_t.join

Displays "@waiters not empty"
----------------------------------------
http://redmine.ruby-lang.org/issues/show/3212

----------------------------------------
http://redmine.ruby-lang.org