@@ -585,12 +585,6 @@ def _error(self, message: str, join_threads: bool = True) -> None:
585585 RuntimeError
586586 exception throw
587587 """
588- # Stop heartbeat
589- if self ._heartbeat_termination_trigger and self ._heartbeat_thread :
590- self ._heartbeat_termination_trigger .set ()
591- if join_threads :
592- self ._heartbeat_thread .join ()
593-
594588 # Finish stopping all threads
595589 if self ._shutdown_event :
596590 self ._shutdown_event .set ()
@@ -601,6 +595,12 @@ def _error(self, message: str, join_threads: bool = True) -> None:
601595 if join_threads :
602596 self ._dispatcher .join ()
603597
598+ # Stop heartbeat
599+ if self ._heartbeat_termination_trigger and self ._heartbeat_thread :
600+ self ._heartbeat_termination_trigger .set ()
601+ if join_threads :
602+ self ._heartbeat_thread .join ()
603+
604604 if not self ._suppress_errors :
605605 raise SimvueRunError (message )
606606
@@ -1861,10 +1861,6 @@ def set_status(
18611861 def _tidy_run (self ) -> None :
18621862 self ._executor .wait_for_completion ()
18631863
1864- if self ._heartbeat_thread and self ._heartbeat_termination_trigger :
1865- self ._heartbeat_termination_trigger .set ()
1866- self ._heartbeat_thread .join ()
1867-
18681864 if self ._shutdown_event :
18691865 self ._shutdown_event .set ()
18701866
@@ -1877,6 +1873,10 @@ def _tidy_run(self) -> None:
18771873 self ._dispatcher .purge ()
18781874 self ._dispatcher .join ()
18791875
1876+ if self ._heartbeat_thread and self ._heartbeat_termination_trigger :
1877+ self ._heartbeat_termination_trigger .set ()
1878+ self ._heartbeat_thread .join ()
1879+
18801880 if (
18811881 self ._sv_obj
18821882 and self ._user_config .run .mode == "offline"
0 commit comments