Fix Satellite#lock

This commit is contained in:
Riyad Preukschas 2012-10-26 02:32:17 +02:00
parent 700a784bc9
commit 7192f86ed0

View file

@ -25,16 +25,20 @@ module Gitlab
File.exists? path File.exists? path
end end
# Locks the satellite and yields # * Locks the satellite
# * Changes the current directory to the satellite's working dir
# * Yields
def lock def lock
raise "Satellite doesn't exist" unless exists? raise "Satellite doesn't exist" unless exists?
File.open(lock_file, "w+") do |f| File.open(lock_file, "w+") do |f|
f.flock(File::LOCK_EX) f.flock(File::LOCK_EX)
Dir.chdir(path) do
return yield return yield
end end
end end
end
def lock_file def lock_file
Rails.root.join("tmp", "#{project.path}.lock") Rails.root.join("tmp", "#{project.path}.lock")