From: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com> Date: Fri, 8 Jun 2018 22:47:45 +0000 (-0700) Subject: bpo-30805: Avoid race condition with debug logging (GH-7545) X-Git-Tag: v3.6.6rc1~22 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=234b53f8b5d0615051025be26cf8adecbc346c57;p=python bpo-30805: Avoid race condition with debug logging (GH-7545) Supersedes https://github.com/python/cpython/pull/2490 (cherry picked from commit 12f482e0ae33021c04264294f33fa6baa9617cec) Co-authored-by: Yury Selivanov --- diff --git a/Lib/asyncio/base_events.py b/Lib/asyncio/base_events.py index 90757db41c..083f45df2f 100644 --- a/Lib/asyncio/base_events.py +++ b/Lib/asyncio/base_events.py @@ -1153,6 +1153,7 @@ class BaseEventLoop(events.AbstractEventLoop): if bufsize != 0: raise ValueError("bufsize must be 0") protocol = protocol_factory() + debug_log = None if self._debug: # don't log parameters: they may contain sensitive information # (password) and may be too long @@ -1160,7 +1161,7 @@ class BaseEventLoop(events.AbstractEventLoop): self._log_subprocess(debug_log, stdin, stdout, stderr) transport = yield from self._make_subprocess_transport( protocol, cmd, True, stdin, stdout, stderr, bufsize, **kwargs) - if self._debug: + if self._debug and debug_log is not None: logger.info('%s: %r', debug_log, transport) return transport, protocol @@ -1182,6 +1183,7 @@ class BaseEventLoop(events.AbstractEventLoop): "a bytes or text string, not %s" % type(arg).__name__) protocol = protocol_factory() + debug_log = None if self._debug: # don't log parameters: they may contain sensitive information # (password) and may be too long @@ -1190,7 +1192,7 @@ class BaseEventLoop(events.AbstractEventLoop): transport = yield from self._make_subprocess_transport( protocol, popen_args, False, stdin, stdout, stderr, bufsize, **kwargs) - if self._debug: + if self._debug and debug_log is not None: logger.info('%s: %r', debug_log, transport) return transport, protocol diff --git a/Misc/NEWS.d/next/Library/2018-06-08-17-34-16.bpo-30805.3qCWa0.rst b/Misc/NEWS.d/next/Library/2018-06-08-17-34-16.bpo-30805.3qCWa0.rst new file mode 100644 index 0000000000..e1ba576753 --- /dev/null +++ b/Misc/NEWS.d/next/Library/2018-06-08-17-34-16.bpo-30805.3qCWa0.rst @@ -0,0 +1 @@ +Avoid race condition with debug logging