Skip to content

Commit 8e37ce8

Browse files
authored
Merge pull request #4066 from ashnaaseth2325-oss/fix/genmetrics-fd-leaks
fix: use context managers to prevent file descriptor leaks in genMetrics.py
2 parents 33d1978 + 9f313aa commit 8e37ce8

1 file changed

Lines changed: 6 additions & 10 deletions

File tree

flow/util/genMetrics.py

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -142,17 +142,14 @@ def extractGnuTime(prefix, jsonFile, file):
142142
#
143143
def read_sdc(file_name):
144144
clkList = []
145-
sdcFile = None
146145

147146
try:
148-
sdcFile = open(file_name, "r")
149-
except IOError:
150-
print("[WARN] Failed to open file:", file_name)
147+
with open(file_name, "r") as sdcFile:
148+
lines = sdcFile.readlines()
149+
except OSError as e:
150+
print(f"[WARN] Failed to open file: {file_name} ({e})")
151151
return clkList
152152

153-
lines = sdcFile.readlines()
154-
sdcFile.close()
155-
156153
for line in lines:
157154
if len(line.split()) < 2:
158155
continue
@@ -185,10 +182,9 @@ def is_git_repo(folder=None):
185182
def merge_jsons(root_path, output, files):
186183
paths = sorted(glob(os.path.join(root_path, files)))
187184
for path in paths:
188-
file = open(path, "r")
189-
data = json.load(file)
185+
with open(path, "r") as file:
186+
data = json.load(file)
190187
output.update(data)
191-
file.close()
192188

193189

194190
def extract_metrics(

0 commit comments

Comments
 (0)