summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-25 06:53:31 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2014-07-25 06:53:31 +0000
commitebed2ef3354c239fc2fdf11438ca6a7f2b234213 (patch)
tree810a6fa5bcc3285b9a13e5e513568e9c8833b361 /lib
parent3b26b3898e3726e2952bc1d809b56d277b4308a7 (diff)
test_gem_silent_ui.rb: fix leaked FDs
* lib/rubygems/user_interaction.rb (Gem::StreamUI#close): clean up IOs. * test/rubygems/test_gem_silent_ui.rb (TestGemSilentUI#teardown): fix leaked FDs. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/rubygems/user_interaction.rb10
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/rubygems/user_interaction.rb b/lib/rubygems/user_interaction.rb
index f5e460f994..f7788cedf2 100644
--- a/lib/rubygems/user_interaction.rb
+++ b/lib/rubygems/user_interaction.rb
@@ -378,9 +378,13 @@ class Gem::StreamUI
# handlers that might have been defined.
def terminate_interaction(status = 0)
+ close
raise Gem::SystemExitException, status
end
+ def close
+ end
+
##
# Return a progress reporter object chosen from the current verbosity.
@@ -683,6 +687,12 @@ class Gem::SilentUI < Gem::StreamUI
super reader, writer, writer, false
end
+ def close
+ super
+ @ins.close
+ @outs.close
+ end
+
def download_reporter(*args) # :nodoc:
SilentDownloadReporter.new(@outs, *args)
end