mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* lib/tmpdir.rb (Dir.mktmpdir): removed thread race condition.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@24699 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
f6bed84425
commit
2235d504b7
2 changed files with 5 additions and 2 deletions
|
@ -1,8 +1,10 @@
|
||||||
Sat Aug 29 03:11:29 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
Sat Aug 29 03:27:17 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
|
||||||
|
|
||||||
* lib/tempfile.rb (Tempfile#make_tmpname): removed thread race
|
* lib/tempfile.rb (Tempfile#make_tmpname): removed thread race
|
||||||
condition.
|
condition.
|
||||||
|
|
||||||
|
* lib/tmpdir.rb (Dir.mktmpdir): ditto.
|
||||||
|
|
||||||
Fri Aug 28 20:29:34 2009 Akinori MUSHA <knu@iDaemons.org>
|
Fri Aug 28 20:29:34 2009 Akinori MUSHA <knu@iDaemons.org>
|
||||||
|
|
||||||
* lib/tempfile.rb (Tempfile#callback): Debug information should be
|
* lib/tempfile.rb (Tempfile#callback): Debug information should be
|
||||||
|
|
|
@ -111,9 +111,10 @@ class Dir
|
||||||
end
|
end
|
||||||
tmpdir ||= Dir.tmpdir
|
tmpdir ||= Dir.tmpdir
|
||||||
t = Time.now.strftime("%Y%m%d")
|
t = Time.now.strftime("%Y%m%d")
|
||||||
|
th = Thread.current.object_id.to_s(36)
|
||||||
n = nil
|
n = nil
|
||||||
begin
|
begin
|
||||||
path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{rand(0x100000000).to_s(36)}"
|
path = "#{tmpdir}/#{prefix}#{t}-#{$$}-#{th}-#{rand(0x100000000).to_s(36)}"
|
||||||
path << "-#{n}" if n
|
path << "-#{n}" if n
|
||||||
path << suffix
|
path << suffix
|
||||||
Dir.mkdir(path, 0700)
|
Dir.mkdir(path, 0700)
|
||||||
|
|
Loading…
Reference in a new issue