diff options
author | Markus Roberts <Markus@reality.com> | 2010-03-30 14:34:01 -0700 |
---|---|---|
committer | test branch <puppet-dev@googlegroups.com> | 2010-02-17 06:50:53 -0800 |
commit | b494427ff76ec8ec90d6d389b32a7c9fe9b7f20d (patch) | |
tree | 8f2ddec25b9082b7f5dbab4b62bac7b0c7422241 | |
parent | 966b2690824c5c66059380eb762a2a83bfe7afe5 (diff) | |
download | puppet-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.rb | 13 |
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 |