1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

webrick/httpauth/htgroup.rb (flush): avoid unnecessary unlink

Based on patch by akr [ruby-core:88477], use Tempfile.create
to avoid unnecessary unlink call.  Unlike akr's original patch,
this does not change the return value of flush.

Thanks-to: Tanaka Akira <akr@fsij.org>

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@64363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
normal 2018-08-14 23:00:02 +00:00
parent 7d664ecc49
commit ab7e34e4db

View file

@ -63,15 +63,18 @@ module WEBrick
def flush(output=nil) def flush(output=nil)
output ||= @path output ||= @path
tmp = Tempfile.new("htgroup", File::dirname(output)) tmp = Tempfile.create("htgroup", File::dirname(output))
begin begin
@group.keys.sort.each{|group| @group.keys.sort.each{|group|
tmp.puts(format("%s: %s", group, self.members(group).join(" "))) tmp.puts(format("%s: %s", group, self.members(group).join(" ")))
} }
ensure
tmp.close tmp.close
File::rename(tmp.path, output) if $!
rescue File.unlink(tmp.path)
tmp.close(true) else
return File.rename(tmp.path, output)
end
end end
end end