Backport #3227

tempfile.rb seems to have a broken unlink function

Added by Flameeyes (Diego Elio Pettenò) over 10 years ago. Updated about 1 year ago.



When using tempfile on Ruby 1.8, unlink does not close the underlying file, which is useful on POSIX systems to stop other processes from accessing the temporary files. Similar suggestion is available in the comments for Tempfile#unlink on Ruby 1.9's tempfile.rb but there, the file gets closed before being unlinked, and thus you cannot access it any more.

I'm not sure if the change in behaviour is wanted or not, but this at least seems to break Rack (from which I extracted the attached testcase). Either the suggestions should go, or it shouldn't close.


tempfile-unlink-tcase.rb (220 Bytes) tempfile-unlink-tcase.rb Testcase derived by rack-1.1.0 Flameeyes (Diego Elio Pettenò), 05/01/2010 04:59 AM

Updated by coatl (caleb clausen) over 10 years ago

I just want to be clear on what you mean; you're saying the Tempfile should still be usable (not closed) after Tempfile#unlink has been called, right?

Works for me using a 1.9.2dev build from 2010-04-24 (6 days ago). Maybe something needs to be backported to 1.9.1?


Updated by mame (Yusuke Endoh) over 10 years ago

  • Target version set to 1.9.1


I think Caleb is right.
r24662 should be merged into ruby_1_9_1.

This ticket is moved to Backport tracker. Thanks.

Yusuke Endoh


Updated by jeremyevans0 (Jeremy Evans) about 1 year ago

  • Status changed from Open to Closed
  • Description updated (diff)

Also available in: Atom PDF