Skip to content

Commit a725282

Browse files
wanda-phiwhitequark
authored andcommitted
sim.pysim: Only close VCD/GTKW files if we opened them ourselves.
Fixes #1107.
1 parent fc81ff1 commit a725282

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

amaranth/sim/pysim.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,14 @@ def __init__(self, fragment, *, vcd_file, gtkw_file=None, traces=()):
4141
# the simulator is still usable if it's not installed for some reason.
4242
import vcd, vcd.gtkw
4343

44+
self.close_vcd = False
45+
self.close_gtkw = False
4446
if isinstance(vcd_file, str):
4547
vcd_file = open(vcd_file, "w")
48+
self.close_vcd = True
4649
if isinstance(gtkw_file, str):
4750
gtkw_file = open(gtkw_file, "w")
51+
self.close_gtkw = True
4852

4953
self.vcd_signal_vars = SignalDict()
5054
self.vcd_memory_vars = {}
@@ -189,9 +193,9 @@ def close(self, timestamp):
189193
else:
190194
assert False # :nocov:
191195

192-
if self.vcd_file is not None:
196+
if self.close_vcd:
193197
self.vcd_file.close()
194-
if self.gtkw_file is not None:
198+
if self.close_gtkw:
195199
self.gtkw_file.close()
196200

197201

0 commit comments

Comments
 (0)