lib/lounger.rb in lounger-0.1.0 vs lib/lounger.rb in lounger-0.2.0
- old
+ new
@@ -1,17 +1,17 @@
require "lounger/version"
class Lounger
- def initialize
+ SIGNALS = ["INT", "TERM", "EXIT", "USR1", "QUIT"]
+
+ def initialize(include_signals: [], exclude_signals: [])
@lock = Mutex.new
@condition = ConditionVariable.new
- Signal.trap("INT") { wakeup! }
- Signal.trap("TERM") { wakeup! }
- Signal.trap("EXIT") { wakeup! }
- Signal.trap("USR1") { wakeup! }
- Signal.trap("QUIT") { wakeup! }
+ (SIGNALS + include_signals - exclude_signals).each do |signal|
+ Signal.trap(signal) { wakeup! }
+ end
end
def idle
@lock.synchronize { @condition.wait(@lock) }
end
@@ -21,6 +21,9 @@
end
def self.idle
Lounger.new.idle
end
+
+ alias_method :wait, :idle
+ alias_method :signal, :wakeup!
end
\ No newline at end of file