Skip to content

Commit 015fd8c

Browse files
minor bug fix: avoid 'cannot join current thread'
1 parent b2fd72c commit 015fd8c

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

rleplus/env/energyplus.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,8 +141,17 @@ def stop(self) -> None:
141141
if not self.simulation_complete:
142142
self.simulation_complete = True
143143
self._flush_queues()
144-
self.energyplus_exec_thread.join()
145-
self.energyplus_exec_thread = None
144+
145+
if self.energyplus_exec_thread:
146+
# wait for E+ thread to finish
147+
# in some occasions, join() raises a RuntimeError("cannot join current thread")
148+
# this should not prevent moving forward and cleaning up
149+
try:
150+
self.energyplus_exec_thread.join()
151+
except RuntimeError:
152+
pass
153+
self.energyplus_exec_thread = None
154+
146155
self.energyplus_api.runtime.clear_callbacks()
147156
self.energyplus_api.state_manager.delete_state(self.energyplus_state)
148157

0 commit comments

Comments
 (0)