summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2023-03-12 00:17:11 +0900
committerRyo Nakamura <upa@haeena.net>2023-03-12 00:17:11 +0900
commitd15a25d1f66b0fd910c8f2e2855906ba0c2f555d (patch)
tree52a94ae10c5888dcf76ae55f7a034b189dd47020
parent10812071aa6dd0b6efc896448b50488f1ba02a83 (diff)
add destructor to mscp class to call mscp_free()
-rw-r--r--mscp/mscp.py14
1 files changed, 14 insertions, 0 deletions
diff --git a/mscp/mscp.py b/mscp/mscp.py
index df39dbd..e1d2bc8 100644
--- a/mscp/mscp.py
+++ b/mscp/mscp.py
@@ -35,6 +35,20 @@ class mscp:
self.dst_path = None
self.state = _STATE_INIT
+ def __del__(self):
+
+ if not hasattr(self, "state"):
+ return # this instance failed on mscp_init
+
+ if self.state == _STATE_RUNNING:
+ self.stop()
+ if self.state == _STATE_STOPPED:
+ self.join()
+ if self.state == _STATE_JOINED:
+ self.cleanup()
+ if self.state == _STATE_CLEANED:
+ self.free()
+
def _state2str(self):
return _state_str[self.state]