diff options
Diffstat (limited to 'lib/tempfile.rb')
-rw-r--r-- | lib/tempfile.rb | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/lib/tempfile.rb b/lib/tempfile.rb index ab97f457a8..0b22de260a 100644 --- a/lib/tempfile.rb +++ b/lib/tempfile.rb @@ -15,16 +15,19 @@ class Tempfile < SimpleDelegator Max_try = 10 def Tempfile.callback(path, data) + pid = $$ lambda{ - print "removing ", path, "..." if $DEBUG - data[0].close if data[0] - if File.exist?(path) - File.unlink(path) - end - if File.exist?(path + '.lock') - Dir.rmdir(path + '.lock') + if pid == $$ + print "removing ", path, "..." if $DEBUG + data[0].close if data[0] + if File.exist?(path) + File.unlink(path) + end + if File.exist?(path + '.lock') + Dir.rmdir(path + '.lock') + end + print "done\n" if $DEBUG end - print "done\n" if $DEBUG } end |