diff mercurial/revlog.py @ 41286:00b314c42094

revlog: document that mmap resources are released implicitly by GC It's okay-ish, but currently the open fd and the mapping itself are leaked until the indexdata is deallocated. If revlog had close(), the underlying resources should be closed there as well, but AFAIK there's no such hook point.
author Yuya Nishihara <yuya@tcha.org>
date Sun, 13 Jan 2019 14:56:26 +0900
parents 1421d0487a61
children 13c23396c7fe
line wrap: on
line diff
--- a/mercurial/revlog.py	Wed Sep 26 21:41:52 2018 +0900
+++ b/mercurial/revlog.py	Sun Jan 13 14:56:26 2019 +0900
@@ -440,6 +440,8 @@
             with self._indexfp() as f:
                 if (mmapindexthreshold is not None and
                     self.opener.fstat(f).st_size >= mmapindexthreshold):
+                    # TODO: should .close() to release resources without
+                    # relying on Python GC
                     indexdata = util.buffer(util.mmapread(f))
                 else:
                     indexdata = f.read()