diff --git a/mercurial/posix.py b/mercurial/posix.py index 3232f92360d4da06d304ea6856568c9a3ab2e6b7_bWVyY3VyaWFsL3Bvc2l4LnB5..77c121da614327a579b3b4e5b173da947915acf3_bWVyY3VyaWFsL3Bvc2l4LnB5 100644 --- a/mercurial/posix.py +++ b/mercurial/posix.py @@ -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: