From 2889da59cec9fe35d905769ae89ce3c35778ce84 Mon Sep 17 00:00:00 2001 From: Miklos Szeredi Date: Fri, 27 Apr 2007 18:49:15 +0000 Subject: [PATCH] Ublock SIGHUP in multithreaded loop... --- ChangeLog | 5 +++++ lib/fuse_loop_mt.c | 7 +++++++ 2 files changed, 12 insertions(+) diff --git a/ChangeLog b/ChangeLog index 7c20c1c..1a29cef 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2007-04-26 Miklos Szeredi + + * Ublock SIGHUP in multithreaded loop, since it's needed for + exiting on unmount. Reported by Elena + 2007-04-18 Miklos Szeredi * Use patch from Debian Bug#413403 to fix problems with bash in diff --git a/lib/fuse_loop_mt.c b/lib/fuse_loop_mt.c index d1e327c..8f5db89 100644 --- a/lib/fuse_loop_mt.c +++ b/lib/fuse_loop_mt.c @@ -182,6 +182,13 @@ int fuse_session_loop_mt(struct fuse_session *se) err = fuse_start_thread(&mt); pthread_mutex_unlock(&mt.lock); if (!err) { + sigset_t set; + + /* We need SIGHUP for exiting */ + sigemptyset(&set); + sigaddset(&set, SIGHUP); + pthread_sigmask(SIG_UNBLOCK, &set, NULL); + while (!fuse_session_exited(se)) pause(); -- 2.30.2