Merge pull request #31 from klynch/1x
Must ensure that the lock is always removed.
This commit is contained in:
commit
757ea63466
2 changed files with 9 additions and 6 deletions
|
@ -28,7 +28,7 @@ class Project < ActiveRecord::Base
|
||||||
:uniqueness => true,
|
:uniqueness => true,
|
||||||
:format => { :with => /^[a-zA-Z0-9_\-]*$/,
|
:format => { :with => /^[a-zA-Z0-9_\-]*$/,
|
||||||
:message => "only letters, digits & '_' '-' allowed" },
|
:message => "only letters, digits & '_' '-' allowed" },
|
||||||
:length => { :within => 3..16 }
|
:length => { :within => 3..255 }
|
||||||
|
|
||||||
validates :owner,
|
validates :owner,
|
||||||
:presence => true
|
:presence => true
|
||||||
|
|
|
@ -27,13 +27,16 @@ class Gitosis
|
||||||
def configure
|
def configure
|
||||||
status = Timeout::timeout(20) do
|
status = Timeout::timeout(20) do
|
||||||
File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f|
|
File.open(File.join(Dir.tmpdir,"gitlabhq-gitosis.lock"), "w+") do |f|
|
||||||
f.flock(File::LOCK_EX)
|
begin
|
||||||
|
f.flock(File::LOCK_EX)
|
||||||
|
|
||||||
pull
|
pull
|
||||||
yield(self)
|
yield(self)
|
||||||
push
|
push
|
||||||
|
|
||||||
f.flock(File::LOCK_UN)
|
ensure
|
||||||
|
f.flock(File::LOCK_UN)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
rescue Exception => ex
|
rescue Exception => ex
|
||||||
|
|
Loading…
Add table
Reference in a new issue