Module: Rapns::Daemon::InterruptibleSleep

Included in:
Apns::FeedbackReceiver, Feeder
Defined in:
lib/rapns/daemon/interruptible_sleep.rb

Instance Method Summary collapse

Instance Method Details

#interrupt_sleepObject



11
12
13
14
15
# File 'lib/rapns/daemon/interruptible_sleep.rb', line 11

def interrupt_sleep
  if @_sleep_interrupt
    @_sleep_interrupt.close rescue IOError
  end
end

#interruptible_sleep(seconds) ⇒ Object



4
5
6
7
8
9
# File 'lib/rapns/daemon/interruptible_sleep.rb', line 4

def interruptible_sleep(seconds)
  @_sleep_check, @_sleep_interrupt = IO.pipe
  IO.select([@_sleep_check], nil, nil, seconds) rescue Errno::EINVAL
  @_sleep_check.close rescue IOError
  @_sleep_interrupt.close rescue IOError
end