diff options
-rw-r--r-- | lib/puppet/util.rb | 15 |
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 |