From 5116d9f873355b03ec2d1cb41384356362a12fee Mon Sep 17 00:00:00 2001 From: Barney Gale Date: Sun, 17 Jul 2022 23:10:16 +0100 Subject: [PATCH] gh-82116: add comment explaining use of `list(scandir_it)` in pathlib. --- Lib/pathlib.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Lib/pathlib.py b/Lib/pathlib.py index 69e7d558a056fc..62dd0fa1b1237b 100644 --- a/Lib/pathlib.py +++ b/Lib/pathlib.py @@ -299,6 +299,8 @@ def __init__(self, pat, child_parts, flavour): def _select_from(self, parent_path, is_dir, exists, scandir): try: + # We must close the scandir() object before proceeding to + # avoid exhausting file descriptors when globbing deep trees. with scandir(parent_path) as scandir_it: entries = list(scandir_it) for entry in entries: @@ -330,6 +332,8 @@ def __init__(self, pat, child_parts, flavour): def _iterate_directories(self, parent_path, is_dir, scandir): yield parent_path try: + # We must close the scandir() object before proceeding to + # avoid exhausting file descriptors when globbing deep trees. with scandir(parent_path) as scandir_it: entries = list(scandir_it) for entry in entries: