class Pry::InputLock

def leave_interruptible_region

def leave_interruptible_region
  @mutex.synchronize do
    # We check if we are still the owner, because we could have received an
    # Interrupt right after the following @cond.broadcast, making us retry.
    @interruptible = false if @owners.last == Thread.current
    @cond.broadcast
  end
rescue Interrupt
  # We need to guard against a spurious interrupt delivered while we are
  # trying to acquire the lock (the rescue block is no longer in our scope).
  retry
end