summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-03-30 14:34:01 -0700
committerJames Turnbull <james@lovedthanlost.net>2010-03-31 12:24:50 +1100
commitae0b0bf23e418e8c6665e9dc135148b78bdbd913 (patch)
treeb59ae9c07ee4132280daf990585f9807046e11ff /lib
parent9db066b1322620bdd45acde9f36069be56ee3931 (diff)
downloadpuppet-ae0b0bf23e418e8c6665e9dc135148b78bdbd913.tar.gz
puppet-ae0b0bf23e418e8c6665e9dc135148b78bdbd913.tar.xz
puppet-ae0b0bf23e418e8c6665e9dc135148b78bdbd913.zip
Fix for #3101 (bug in MRI 1.8.7)
Due to a bug in Ruby 1.8.7 net/http will attempt to close a connection that wasn't successfully opened (it's nil), first checking to see if the connection is already close, and thus raising a method missing exception. This bug causes error messages that are confusing / misleading. To get around this, we add a closed? method to nil such that a nil (unopened) connection is always considered closed, allowing the real problem to be reported.
Diffstat (limited to 'lib')
-rw-r--r--lib/puppet/util/monkey_patches.rb13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb
index c93d6ffb9..459fd7425 100644
--- a/lib/puppet/util/monkey_patches.rb
+++ b/lib/puppet/util/monkey_patches.rb
@@ -31,5 +31,16 @@ def YAML.dump(*args)
ZAML.dump(*args)
end
-
+#
+# Workaround for bug in MRI 1.8.7, see
+# http://redmine.ruby-lang.org/issues/show/2708
+# for details
+#
+if RUBY_VERSION == '1.8.7'
+ class NilClass
+ def closed?
+ true
+ end
+ end
+end