Patchwork D6784: httppeer: use context manager when reading temporary bundle to send

login
register
mail settings
Submitter phabricator
Date Sept. 5, 2019, 6:57 p.m.
Message ID <f74abc5d1993aaf8a0afde6fd6ad92aa@localhost.localdomain>
Download mbox | patch
Permalink /patch/41475/
State Not Applicable
Headers show

Comments

phabricator - Sept. 5, 2019, 6:57 p.m.
Closed by commit rHG37debb6771f5: httppeer: use context manager when reading temporary bundle to send (authored by martinvonz).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs Review".

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D6784?vs=16370&id=16373

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D6784/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D6784

AFFECTED FILES
  mercurial/httppeer.py

CHANGE DETAILS




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

Patch

diff --git a/mercurial/httppeer.py b/mercurial/httppeer.py
--- a/mercurial/httppeer.py
+++ b/mercurial/httppeer.py
@@ -490,7 +490,6 @@ 
             os.unlink(tempname)
 
     def _calltwowaystream(self, cmd, fp, **args):
-        fp_ = None
         filename = None
         try:
             # dump bundle to disk
@@ -501,12 +500,10 @@ 
                     fh.write(d)
                     d = fp.read(4096)
             # start http push
-            fp_ = httpconnection.httpsendfile(self.ui, filename, "rb")
-            headers = {r'Content-Type': r'application/mercurial-0.1'}
-            return self._callstream(cmd, data=fp_, headers=headers, **args)
+            with httpconnection.httpsendfile(self.ui, filename, "rb") as fp_:
+                headers = {r'Content-Type': r'application/mercurial-0.1'}
+                return self._callstream(cmd, data=fp_, headers=headers, **args)
         finally:
-            if fp_ is not None:
-                fp_.close()
             if filename is not None:
                 os.unlink(filename)