D4445: tracing: ignore any IOErrors when writing to pipe

durin42 (Augie Fackler) phabricator at mercurial-scm.org
Sun Sep 2 01:33:13 EDT 2018


This revision was automatically updated to reflect the committed changes.
Closed by commit rHG452790284a15: tracing: ignore any IOErrors when writing to pipe (authored by durin42, committed by ).

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D4445?vs=10704&id=10712

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

AFFECTED FILES
  hgdemandimport/tracing.py

CHANGE DETAILS

diff --git a/hgdemandimport/tracing.py b/hgdemandimport/tracing.py
--- a/hgdemandimport/tracing.py
+++ b/hgdemandimport/tracing.py
@@ -28,7 +28,17 @@
         _session = os.environ.get('HGCATAPULTSESSION', 'none')
     whence = whencefmt % whenceargs
     try:
-        _pipe.write('START %s %s\n' % (_session, whence))
+        # Both writes to the pipe are wrapped in try/except to ignore
+        # errors, as we can see mysterious errors in here if the pager
+        # is active. Presumably other conditions could trigger
+        # problems too.
+        try:
+            _pipe.write('START %s %s\n' % (_session, whence))
+        except IOError:
+            pass
         yield
     finally:
-        _pipe.write('END %s %s\n' % (_session, whence))
+        try:
+            _pipe.write('END %s %s\n' % (_session, whence))
+        except IOError:
+            pass



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


More information about the Mercurial-devel mailing list