Ublock SIGHUP in multithreaded loop...
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 27 Apr 2007 18:49:15 +0000 (18:49 +0000)
committerMiklos Szeredi <miklos@szeredi.hu>
Fri, 27 Apr 2007 18:49:15 +0000 (18:49 +0000)
ChangeLog
lib/fuse_loop_mt.c

index 7c20c1c4d94462e14e32acdb9fcfcb37c1c4891a..1a29cefcaa78184787d8183c3e34c9c1236eaeee 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2007-04-26  Miklos Szeredi <miklos@szeredi.hu>
+
+       * Ublock SIGHUP in multithreaded loop, since it's needed for
+       exiting on unmount.  Reported by Elena
+
 2007-04-18  Miklos Szeredi <miklos@szeredi.hu>
 
        * Use patch from Debian Bug#413403 to fix problems with bash in
index d1e327c9e619817e9c7f42b5e6fa47d8ae5cb7ca..8f5db892f72cd8baeaef717fbc9dd3099bd8ba3e 100644 (file)
@@ -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();