diff -r 3232f92360d4 -r 77c121da6143 mercurial/posix.py --- a/mercurial/posix.py Mon Oct 13 11:46:04 2014 +0200 +++ b/mercurial/posix.py Wed Oct 15 15:13:43 2014 -0400 @@ -156,9 +156,12 @@ name = tempfile.mktemp(dir=path, prefix='hg-checklink-') try: fd = tempfile.NamedTemporaryFile(dir=path, prefix='hg-checklink-') - os.symlink(os.path.basename(fd.name), name) - os.unlink(name) - return True + try: + os.symlink(os.path.basename(fd.name), name) + os.unlink(name) + return True + finally: + fd.close() except AttributeError: return False except OSError, inst: