diff options
| author | Jack Nagel | 2013-02-09 18:19:50 -0600 |
|---|---|---|
| committer | Jack Nagel | 2013-02-09 18:19:50 -0600 |
| commit | 97d3ae1775da31a0f5a63d0af4d8a786da73848f (patch) | |
| tree | 383bf44d837623f7e8195cda7c7dc637df3a5864 /Library/Homebrew/formula.rb | |
| parent | 97f9f93f25f54890f7b9005d455baa5c0dd460cc (diff) | |
| download | brew-97d3ae1775da31a0f5a63d0af4d8a786da73848f.tar.bz2 | |
Extract formula locks into a class
Diffstat (limited to 'Library/Homebrew/formula.rb')
| -rw-r--r-- | Library/Homebrew/formula.rb | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb index 33e3ea93e..d17bcb7b8 100644 --- a/Library/Homebrew/formula.rb +++ b/Library/Homebrew/formula.rb @@ -1,6 +1,7 @@ require 'download_strategy' require 'dependency_collector' require 'formula_support' +require 'formula_lock' require 'hardware' require 'bottles' require 'patches' @@ -241,19 +242,12 @@ class Formula end def lock - HOMEBREW_CACHE_FORMULA.mkpath - lockpath = HOMEBREW_CACHE_FORMULA/"#{@name}.brewing" - @lockfile = lockpath.open(File::RDWR | File::CREAT) - unless @lockfile.flock(File::LOCK_EX | File::LOCK_NB) - raise OperationInProgressError, @name - end + @lock = FormulaLock.new(name) + @lock.lock end def unlock - unless @lockfile.nil? - @lockfile.flock(File::LOCK_UN) - @lockfile.close - end + @lock.unlock unless @lock.nil? end def == b |
