summary refs log tree commit
diff options
context:
space:
mode:
authorraggi <jftucker@gmail.com>2010-06-17 08:17:31 -0300
committerJames Tucker <jftucker@gmail.com>2011-05-22 23:58:01 -0700
commit3d0630f60b1b74e14178c6865fd6ad64f817f5ef (patch)
tree37145b4f28821ff084984a4feec6e222cad6b1ca
parentb5f7c9c7e21d732bb2b0c98fcd2b61c4a6f6a518 (diff)
downloadrack-3d0630f60b1b74e14178c6865fd6ad64f817f5ef.tar.gz
Use ::File.unlink in place of Tempfile#unlink to avoid 1.9.1 bug
-rw-r--r--lib/rack/rewindable_input.rb3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/rack/rewindable_input.rb b/lib/rack/rewindable_input.rb
index c94943cb..15ecc586 100644
--- a/lib/rack/rewindable_input.rb
+++ b/lib/rack/rewindable_input.rb
@@ -77,7 +77,8 @@ module Rack
       @rewindable_io.set_encoding(Encoding::BINARY) if @rewindable_io.respond_to?(:set_encoding)
       @rewindable_io.binmode
       if filesystem_has_posix_semantics?
-        @rewindable_io.unlink
+        # Use ::File.unlink as 1.9.1 Tempfile has a bug where unlink closes the file!
+        ::File.unlink @rewindable_io.path
         raise 'Unlink failed. IO closed.' if @rewindable_io.closed?
         @unlinked = true
       end