]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
[3.12] gh-38807: Fix race condition in Lib/trace.py (GH-110143) (GH-114206)
authorMiss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Wed, 17 Jan 2024 20:35:00 +0000 (21:35 +0100)
committerGitHub <noreply@github.com>
Wed, 17 Jan 2024 20:35:00 +0000 (20:35 +0000)
Instead of checking if a directory does not exist and thereafter
creating it, directly call os.makedirs() with the exist_ok=True.
(cherry picked from commit 78fcde039a33d8463e34356d5462fecee0f2831a)

Co-authored-by: buermarc <44375277+buermarc@users.noreply.github.com>
Lib/trace.py
Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst [new file with mode: 0644]

index fb9a423ea09fce6651f8ee2009be399c973ce919..761916b18097d65df9a8bd85477ceba89897b140 100755 (executable)
@@ -258,8 +258,7 @@ class CoverageResults:
                 modulename = _modname(filename)
             else:
                 dir = coverdir
-                if not os.path.exists(dir):
-                    os.makedirs(dir)
+                os.makedirs(dir, exist_ok=True)
                 modulename = _fullmodname(filename)
 
             # If desired, get a list of the line numbers which represent
diff --git a/Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst b/Misc/NEWS.d/next/Library/2023-09-22-22-17-45.gh-issue-38807.m9McRN.rst
new file mode 100644 (file)
index 0000000..4219723
--- /dev/null
@@ -0,0 +1,3 @@
+Fix race condition in :mod:`trace`. Instead of checking if a directory
+exists and creating it, directly call :func:`os.makedirs` with the kwarg
+``exist_ok=True``.