class Resque::ThreadSignal

Public Class Methods

new() click to toggle source
# File lib/resque/thread_signal.rb, line 2
def initialize
  @mutex = Mutex.new
  @signaled = false
  @received = ConditionVariable.new
end

Public Instance Methods

signal() click to toggle source
# File lib/resque/thread_signal.rb, line 8
def signal
  @mutex.synchronize do
    @signaled = true
    @received.signal
  end
end
wait_for_signal(timeout) click to toggle source
# File lib/resque/thread_signal.rb, line 15
def wait_for_signal(timeout)
  @mutex.synchronize do
    unless @signaled
      @received.wait(@mutex, timeout)
    end

    @signaled
  end
end