Bug #6715
closedDir.mktmpdir fails if you delete it yourself
Description
Dir.mktmpdir when given a block will call FileUtil.remove_entry_secure
in the ensure section. If the contents of the block happens to move/delete/modify that folder, then that will fail with Errno::ENOENT. I believe the correct behavior in this case should be to successfully return, since the folder is clearly gone in some way.
Updated by akr (Akira Tanaka) over 12 years ago
2012/7/10 mitchellh (Mitchell Hashimoto) mitchell.hashimoto@gmail.com:
Dir.mktmpdir when given a block will call
FileUtil.remove_entry_secure
in the ensure section. If the contents of the block happens to move/delete/modify that folder, then that will fail with Errno::ENOENT. I believe the correct behavior in this case should be to successfully return, since the folder is clearly gone in some way.
I think such application may remove another application's temporary
directory unintentionally.
After you remove the directory, another application may create a
directory with same name.
Then Dir.mktmpdir {} removes that.
If an application itself removes a temporary directory, Dir.mktmpdir
without a block should be used.
It avoids the problem above because Dir.mktmpdir without a block
doesn't remove the directory anyway.
Tanaka Akira
Updated by akr (Akira Tanaka) over 12 years ago
- Status changed from Open to Rejected