From d7cb098f1d1f1f5e1663c61794074934443a095d Mon Sep 17 00:00:00 2001 From: Nikolaus Rath Date: Mon, 5 Jun 2017 17:28:44 -0400 Subject: main(): setup signal handlers before connecting Otherwise, aborting the password prompt with Ctrl+C will also kill the sshfs process and leave the mountpoint inaccessible. Fixes: #9. --- sshfs.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) (limited to 'sshfs.c') diff --git a/sshfs.c b/sshfs.c index 3edd1ab..88f3fa0 100644 --- a/sshfs.c +++ b/sshfs.c @@ -4173,6 +4173,13 @@ int main(int argc, char *argv[]) exit(1); } + res = fuse_set_signal_handlers(fuse_get_session(fuse)); + if (res == -1) { + fuse_unmount(mountpoint, ch); + fuse_destroy(fuse); + exit(1); + } + /* * FIXME: trim $PATH so it doesn't contain anything inside the * mountpoint, which would deadlock. @@ -4185,9 +4192,6 @@ int main(int argc, char *argv[]) } res = fuse_daemonize(foreground); - if (res != -1) - res = fuse_set_signal_handlers(fuse_get_session(fuse)); - if (res == -1) { fuse_unmount(mountpoint, ch); fuse_destroy(fuse); -- cgit v1.2.3