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 13 years ago
          Updated by akr (Akira Tanaka) over 13 years ago
          
          
        
        
      
      2012/7/10 mitchellh (Mitchell Hashimoto) mitchell.hashimoto@gmail.com:
Dir.mktmpdir when given a block will call
FileUtil.remove_entry_securein 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 13 years ago
          Updated by akr (Akira Tanaka) over 13 years ago
          
          
        
        
      
      - Status changed from Open to Rejected