Patchwork D7282: vfs: suppress some pytype errors around us using a private attribute

login
register
mail settings
Submitter phabricator
Date Nov. 6, 2019, 10:59 p.m.
Message ID <differential-rev-PHID-DREV-bpasb2et6eykhrbq7eni-req@mercurial-scm.org>
Download mbox | patch
Permalink /patch/42833/
State Superseded
Headers show

Comments

phabricator - Nov. 6, 2019, 10:59 p.m.
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




To: durin42, #hg-reviewers
Cc: mercurial-devel

Patch

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(