summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRyo Nakamura <upa@haeena.net>2022-11-27 19:38:19 +0900
committerRyo Nakamura <upa@haeena.net>2022-11-27 19:48:13 +0900
commit130e735e65de8082106a4685f930d64d875d7e6b (patch)
treef36b2582cb35f2021dc976637f09ab1787c365b5
parente3ed4f89d2d49b4ac38e6f59b434300fab0f28bd (diff)
skip sftp_free() inappropriately
-rw-r--r--src/main.c6
-rw-r--r--src/ssh.c5
2 files changed, 5 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index 738b346..055cbad 100644
--- a/src/main.c
+++ b/src/main.c
@@ -487,12 +487,8 @@ out:
void mscp_copy_thread_cleanup(void *arg)
{
struct mscp_thread *t = arg;
- if (t->sftp) {
- /* XXX: sftp_free --> ssh_poll sometimes blocked with
- * no responses. So wet nonblocking. */
- ssh_set_blocking(sftp_ssh(t->sftp), 1);
+ if (t->sftp)
ssh_sftp_close(t->sftp);
- }
t->finished = true;
__sync_synchronize();
}
diff --git a/src/ssh.c b/src/ssh.c
index 48e72f4..634901b 100644
--- a/src/ssh.c
+++ b/src/ssh.c
@@ -239,7 +239,10 @@ static int ssh_verify_known_hosts(ssh_session session)
void ssh_sftp_close(sftp_session sftp)
{
ssh_session ssh = sftp_ssh(sftp);
- sftp_free(sftp);
+ /* XXX: sftp_free is stuck in ssh_poll_ctx_dopoll() when build type is Release.
+ * skip sftp_free inappropriately...
+ */
+ //sftp_free(sftp);
ssh_disconnect(ssh);
ssh_free(ssh);
}