diff options
Diffstat (limited to 'Library/Homebrew/formula_lock.rb')
| -rw-r--r-- | Library/Homebrew/formula_lock.rb | 37 |
1 files changed, 0 insertions, 37 deletions
diff --git a/Library/Homebrew/formula_lock.rb b/Library/Homebrew/formula_lock.rb deleted file mode 100644 index bf747fea2..000000000 --- a/Library/Homebrew/formula_lock.rb +++ /dev/null @@ -1,37 +0,0 @@ -require "fcntl" - -class FormulaLock - def initialize(name) - @name = name - @path = HOMEBREW_LOCK_DIR/"#{@name}.brewing" - @lockfile = nil - end - - def lock - @path.parent.mkpath - create_lockfile - return if @lockfile.flock(File::LOCK_EX | File::LOCK_NB) - raise OperationInProgressError, @name - end - - def unlock - return if @lockfile.nil? || @lockfile.closed? - @lockfile.flock(File::LOCK_UN) - @lockfile.close - end - - def with_lock - lock - yield - ensure - unlock - end - - private - - def create_lockfile - return unless @lockfile.nil? || @lockfile.closed? - @lockfile = @path.open(File::RDWR | File::CREAT) - @lockfile.fcntl(Fcntl::F_SETFD, Fcntl::FD_CLOEXEC) - end -end |
