# HG changeset patch # User Matt Harbison <matt_harbi...@yahoo.com> # Date 1544900077 18000 # Sat Dec 15 13:54:37 2018 -0500 # Node ID 847613113d3ac24106fcd3ca727428b6e02022ae # Parent d40ef8f0cd2cce5b41e48924fc2a3d486b4c534d vfs: ensure closewrapbase fh doesn't escape by entering context manager
I'm not sure if there's a problem in practice here, as there's no test failure either way. The __exit__() and close() methods raise an exception, so maybe __exit__() and close() are being called directly on the underlying handle when delayclosedfile is used on a context manager? I doubt that was intended. diff --git a/mercurial/vfs.py b/mercurial/vfs.py --- a/mercurial/vfs.py +++ b/mercurial/vfs.py @@ -525,7 +525,8 @@ class closewrapbase(object): return delattr(self._origfh, attr) def __enter__(self): - return self._origfh.__enter__() + self._origfh.__enter__() + return self def __exit__(self, exc_type, exc_value, exc_tb): raise NotImplementedError('attempted instantiating ' + str(type(self))) _______________________________________________ Mercurial-devel mailing list Mercurial-devel@mercurial-scm.org https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel