D7282: vfs: suppress some pytype errors around us using a private attribute
durin42 (Augie Fackler)
phabricator at mercurial-scm.org
Wed Nov 6 22:59:05 UTC 2019
durin42 created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.
REVISION SUMMARY
Looking at threading._MainThread seems like we're probably a little
unsupported, but since this code appears to work on both Python 2 and
3 I'm not going to sweat this for now.
REPOSITORY
rHG Mercurial
REVISION DETAIL
https://phab.mercurial-scm.org/D7282
AFFECTED FILES
mercurial/vfs.py
CHANGE DETAILS
diff --git a/mercurial/vfs.py b/mercurial/vfs.py
--- a/mercurial/vfs.py
+++ b/mercurial/vfs.py
@@ -307,7 +307,9 @@
# Sharing backgroundfilecloser between threads is complex and using
# multiple instances puts us at risk of running out of file descriptors
# only allow to use backgroundfilecloser when in main thread.
- if not isinstance(threading.currentThread(), threading._MainThread):
+ if not isinstance(
+ threading.currentThread(), threading._MainThread
+ ): # pytype: disable=module-attr
yield
return
vfs = getattr(self, 'vfs', self)
@@ -318,10 +320,14 @@
with backgroundfilecloser(ui, expectedcount=expectedcount) as bfc:
try:
- vfs._backgroundfilecloser = bfc
+ vfs._backgroundfilecloser = (
+ bfc # pytype: disable=attribute-error
+ )
yield bfc
finally:
- vfs._backgroundfilecloser = None
+ vfs._backgroundfilecloser = (
+ None # pytype: disable=attribute-error
+ )
class vfs(abstractvfs):
@@ -477,7 +483,8 @@
fp = checkambigatclosing(fp)
if backgroundclose and isinstance(
- threading.currentThread(), threading._MainThread
+ threading.currentThread(),
+ threading._MainThread, # pytype: disable=module-attr
):
if not self._backgroundfilecloser:
raise error.Abort(
To: durin42, #hg-reviewers
Cc: mercurial-devel
More information about the Mercurial-devel
mailing list