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