summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/tempfile.rb6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/tempfile.rb b/lib/tempfile.rb
index ed376a5032..3fb7ff23d5 100644
--- a/lib/tempfile.rb
+++ b/lib/tempfile.rb
@@ -38,7 +38,7 @@ class Tempfile < SimpleDelegator
tmpdir ||= ENV['TMPDIR'] || ENV['TMP'] || ENV['TEMP'] || '/tmp'
tmpname = sprintf('%s/%s.%d.%d', tmpdir, basename, $$, n)
lock = tmpname + '.lock'
- unless File.exist?(lock)
+ unless File.exist?(tmpname) or File.exist?(lock)
Dir.mkdir(lock)
break
end
@@ -79,6 +79,10 @@ class Tempfile < SimpleDelegator
ObjectSpace.undefine_finalizer(self)
end
end
+
+ def path
+ @tmpname
+ end
end
if __FILE__ == $0