summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/util.rb15
1 files changed, 15 insertions, 0 deletions
diff --git a/lib/puppet/util.rb b/lib/puppet/util.rb
index 1242372ac..09cb7050d 100644
--- a/lib/puppet/util.rb
+++ b/lib/puppet/util.rb
@@ -297,6 +297,21 @@ module Util
if f
output = f.read
else
+ # FIXME There really should be a better way to do this,
+ # but it looks like webrick is already setting close_on_exec,
+ # and setting it myself doesn't seem to do anything. So,
+ # not the best, but it'll have to do.
+ if Puppet[:listen]
+ ObjectSpace.each_object do |object|
+ if object.is_a?(TCPServer) and ! object.closed?
+ begin
+ object.close
+ rescue
+ # Just ignore these, I guess
+ end
+ end
+ end
+ end
begin
$stderr.close
$stderr = $stdout.dup