ruby-changes:22203
From: nagachika <ko1@a...>
Date: Tue, 10 Jan 2012 00:46:35 +0900 (JST)
Subject: [ruby-changes:22203] nagachika:r34252 (trunk): * lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even
nagachika 2012-01-10 00:46:25 +0900 (Tue, 10 Jan 2012) New Revision: 34252 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=34252 Log: * lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even when an exception is raised at @tempfile.close. [ruby-dev:45113] * lib/tempfile.rb (Tempfile#unlink): fix a typo. Modified files: trunk/ChangeLog trunk/lib/tempfile.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 34251) +++ ChangeLog (revision 34252) @@ -1,3 +1,10 @@ +Tue Jan 10 00:41:28 2012 CHIKANAGA Tomoyuki <nagachika00@g...> + + * lib/tempfile.rb (Tempfile#_close): clear @tempfile and @data[1] even + when exception is raised at @tempfile.close. [ruby-dev:45113] + + * lib/tempfile.rb (Tempfile#unlink): fix a typo. + Tue Jan 10 00:32:17 2012 CHIKANAGA Tomoyuki <nagachika00@g...> * gc.c (run_finalizer): clear rb_thread_t::errinfo when ignore Index: lib/tempfile.rb =================================================================== --- lib/tempfile.rb (revision 34251) +++ lib/tempfile.rb (revision 34252) @@ -162,9 +162,12 @@ end def _close # :nodoc: - @tmpfile.close if @tmpfile - @tmpfile = nil - @data[1] = nil if @data + begin + @tmpfile.close if @tmpfile + ensure + @tmpfile = nil + @data[1] = nil if @data + end end protected :_close @@ -231,7 +234,7 @@ File.unlink(@tmpname) end # remove tmpname from remover - @data[0] = @data[2] = nil + @data[0] = @data[1] = nil @tmpname = nil rescue Errno::EACCES # may not be able to unlink on Windows; just ignore -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/