From 2416b5f18239b81f8a42c5058375a2a9ab4aad95 Mon Sep 17 00:00:00 2001 From: Ryo Nakamura Date: Sun, 12 Mar 2023 17:06:02 +0900 Subject: fix cleanup --- mscp/mscp.py | 7 +++---- src/mscp.c | 5 +++++ 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/mscp/mscp.py b/mscp/mscp.py index e1d2bc8..47582d6 100644 --- a/mscp/mscp.py +++ b/mscp/mscp.py @@ -44,10 +44,9 @@ class mscp: self.stop() if self.state == _STATE_STOPPED: self.join() - if self.state == _STATE_JOINED: - self.cleanup() - if self.state == _STATE_CLEANED: - self.free() + + self.cleanup() + self.free() def _state2str(self): return _state_str[self.state] diff --git a/src/mscp.c b/src/mscp.c index 3b6b7ff..6314c06 100644 --- a/src/mscp.c +++ b/src/mscp.c @@ -571,6 +571,11 @@ static void free_chunk(struct list_head *list) void mscp_cleanup(struct mscp *m) { + if (m->first) { + ssh_sftp_close(m->first); + m->first = NULL; + } + release_list(&m->src_list, free_src); INIT_LIST_HEAD(&m->src_list); -- cgit v1.2.3