lib/zk/locker/locker_base.rb in zk-1.9.6 vs lib/zk/locker/locker_base.rb in zk-1.10.0

- old
+ new

@@ -289,9 +289,22 @@ true rescue LockAssertionFailedError false end + # interrupt caller blocked on acquring a lock by delegating to + # ZK::NodeDeletionWatcher#interrupt! + # + # this does nothing if the watcher is not currently blocked. + # + # @raise [WakeUpException] raised when caller interrupted + # + def interrupt! + synchronize do + @node_deletion_watcher and @node_deletion_watcher.interrupt! + end + end + private def synchronize @mutex.synchronize { yield } end