summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Roberts <Markus@reality.com>2010-03-30 14:34:01 -0700
committertest branch <puppet-dev@googlegroups.com>2010-02-17 06:50:53 -0800
commitb494427ff76ec8ec90d6d389b32a7c9fe9b7f20d (patch)
tree8f2ddec25b9082b7f5dbab4b62bac7b0c7422241
parent966b2690824c5c66059380eb762a2a83bfe7afe5 (diff)
downloadpuppet-b494427ff76ec8ec90d6d389b32a7c9fe9b7f20d.tar.gz
puppet-b494427ff76ec8ec90d6d389b32a7c9fe9b7f20d.tar.xz
puppet-b494427ff76ec8ec90d6d389b32a7c9fe9b7f20d.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.
-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 53ae1b9c0..a25be7d52 100644
--- a/lib/puppet/util/monkey_patches.rb
+++ b/lib/puppet/util/monkey_patches.rb
@@ -32,5 +32,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