summaryrefslogtreecommitdiff
path: root/tool/lib/leakchecker.rb
diff options
context:
space:
mode:
Diffstat (limited to 'tool/lib/leakchecker.rb')
-rw-r--r--tool/lib/leakchecker.rb5
1 files changed, 5 insertions, 0 deletions
diff --git a/tool/lib/leakchecker.rb b/tool/lib/leakchecker.rb
index af9200bf77..26ece9340f 100644
--- a/tool/lib/leakchecker.rb
+++ b/tool/lib/leakchecker.rb
@@ -75,9 +75,13 @@ class LeakChecker
}
fd_leaked.each {|fd|
str = ''.dup
+ pos = nil
if h[fd]
str << ' :'
h[fd].map {|io, autoclose, inspect|
+ if ENV["LEAK_CHECKER_TRACE_OBJECT_ALLOCATION"]
+ pos = "#{ObjectSpace.allocation_sourcefile(io)}:#{ObjectSpace.allocation_sourceline(io)}"
+ end
s = ' ' + inspect
s << "(not-autoclose)" if !autoclose
s
@@ -86,6 +90,7 @@ class LeakChecker
}
end
puts "Leaked file descriptor: #{test_name}: #{fd}#{str}"
+ puts " The IO was created at #{pos}" if pos
}
#system("lsof -p #$$") if !fd_leaked.empty?
h.each {|fd, list|