diff options
author | tyler-ball <tyleraball@gmail.com> | 2014-12-05 18:06:55 -0800 |
---|---|---|
committer | tyler-ball <tyleraball@gmail.com> | 2014-12-05 18:06:55 -0800 |
commit | 091001ae8d27a8a5de03af2c20905e23a8ffefb7 (patch) | |
tree | 28abfa5821f80e2090b8f89988a0bab004b710a5 /lib/chef/monkey_patches/tempfile.rb | |
parent | 8a7b450cb87ef62e9f21d32c91a52accefba6ffd (diff) | |
parent | a45716b67a2168c21b166e4aab38668e9b96d856 (diff) | |
download | chef-merging-master.tar.gz |
Merge branch 'master' into merging-mastermerging-master
Conflicts:
lib/chef/version.rb
Diffstat (limited to 'lib/chef/monkey_patches/tempfile.rb')
-rw-r--r-- | lib/chef/monkey_patches/tempfile.rb | 64 |
1 files changed, 0 insertions, 64 deletions
diff --git a/lib/chef/monkey_patches/tempfile.rb b/lib/chef/monkey_patches/tempfile.rb deleted file mode 100644 index b9179f182b..0000000000 --- a/lib/chef/monkey_patches/tempfile.rb +++ /dev/null @@ -1,64 +0,0 @@ -# -# Author:: Adam Jacob (<adam@opscode.com>) -# Copyright:: Copyright (c) 2008 Opscode, Inc. -# License:: Apache License, Version 2.0 -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -# == Tempfile (Patch) -# Tempfile has a horrible bug where it causes an IOError: closed stream in its -# finalizer, leading to intermittent application crashes with confusing stack -# traces. Here we monkey patch the fix into place. You can track the bug on -# ruby's redmine: http://redmine.ruby-lang.org/issues/show/3119 -# -# The patch is slightly different for Ruby 1.8 and Ruby 1.9, both patches are -# included here. -class Tempfile # :nodoc: - # Tempfile has changes between 1.8.x and 1.9.x - # so we monkey patch separately - if RUBY_VERSION =~ /^1\.8/ - def unlink - # keep this order for thread safeness - begin - File.unlink(@tmpname) if File.exist?(@tmpname) - @@cleanlist.delete(@tmpname) - @tmpname = nil - ObjectSpace.undefine_finalizer(self) - rescue Errno::EACCES - # may not be able to unlink on Windows; just ignore - end - end - alias delete unlink - - - # There is a patch for this, to be merged into 1.9 at some point. - # When that happens, we'll want to also check the RUBY_PATCHLEVEL - elsif RUBY_VERSION =~ /^1\.9/ - def unlink - # keep this order for thread safeness - return unless @tmpname - begin - if File.exist?(@tmpname) - File.unlink(@tmpname) - end - # remove tmpname from remover - @data[0] = @data[2] = nil - @tmpname = nil - rescue Errno::EACCES - # may not be able to unlink on Windows; just ignore - end - end - alias delete unlink - end -end |