D588: win32: use fewer system calls for unlink()

abuehl (Adrian Buehlmann) phabricator at mercurial-scm.org
Sat Sep 2 13:09:10 EDT 2017


abuehl added a comment.


  In https://phab.mercurial-scm.org/D588#9989, @indygreg wrote:
  
  > OK. I failed to grok the unlink semantics on Windows. I'll need to read up on MSDN.
  
  
  I doubt this is documented on MSDN, but in case you find it there, please share the link (perhaps add it on the UnlinkingFilesOnWindows <https://www.mercurial-scm.org/wiki/UnlinkingFilesOnWindows> wiki page).
  
  The code has pretty big comment right underneath where you inserted your change. The important part is this one:
  
    # - Calling os.unlink on a file that has been opened with Mercurial's
    #   posixfile (or comparable methods) will delay the actual deletion of
    #   the file for as long as the file is held open. The filename is blocked
    #   during that time and cannot be used for recreating a new file under
    #   that same name ("zombie file"). Directories containing such zombie files
    #   cannot be removed or moved.

REPOSITORY
  rHG Mercurial

REVISION DETAIL
  https://phab.mercurial-scm.org/D588

To: indygreg, #hg-reviewers, quark
Cc: abuehl, durin42, quark, mercurial-devel


More information about the Mercurial-devel mailing list