Skip to content

Commit

Permalink
FEAT: Close desktop at exit (#5183)
Browse files Browse the repository at this point in the history
  • Loading branch information
SMoraisAnsys authored Sep 20, 2024
1 parent 58ef612 commit c75ba6c
Showing 1 changed file with 12 additions and 0 deletions.
12 changes: 12 additions & 0 deletions src/ansys/aedt/core/desktop.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@

from __future__ import absolute_import # noreorder

import atexit
import datetime
import gc
import os
Expand Down Expand Up @@ -543,6 +544,8 @@ def __init__(
port=0,
aedt_process_id=None,
):
# Used to track whether desktop release must be performed at exit or not.
self.__closed = False
if _desktop_sessions and version is None:
version = list(_desktop_sessions.values())[-1].aedt_version_id
if aedt_process_id: # pragma no cover
Expand Down Expand Up @@ -720,6 +723,9 @@ def __init__(
# save the current desktop session in the database
_desktop_sessions[self.aedt_process_id] = self

# Register the desktop closure to be called at exit.
atexit.register(self.close_desktop)

def __enter__(self):
return self

Expand All @@ -729,6 +735,7 @@ def __exit__(self, ex_type, ex_value, ex_traceback): # pragma no cover
err = self._exception(ex_value, ex_traceback)
if self.close_on_exit or not is_ironpython:
self.release_desktop(close_projects=self.close_on_exit, close_on_exit=self.close_on_exit)
self.__closed = True

@pyaedt_function_handler()
def __getitem__(self, project_design_name):
Expand Down Expand Up @@ -1657,6 +1664,7 @@ def release_desktop(self, close_projects=True, close_on_exit=True):
self.__dict__.pop(a, None)

gc.collect()
self.__closed = True
return result

def close_desktop(self):
Expand All @@ -1676,6 +1684,10 @@ def close_desktop(self):
>>> desktop.close_desktop() # doctest: +SKIP
"""
if self.__closed is True: # pragma: no cover
self.log.debug("Connection is already closed. Ignoring request.")
return

return self.release_desktop(close_projects=True, close_on_exit=True)

def enable_autosave(self):
Expand Down

0 comments on commit c75ba6c

Please sign in to comment.