summaryrefslogtreecommitdiff
path: root/lib/fuse_signals.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/fuse_signals.c')
-rw-r--r--lib/fuse_signals.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/fuse_signals.c b/lib/fuse_signals.c
index 6154110..8291ea0 100644
--- a/lib/fuse_signals.c
+++ b/lib/fuse_signals.c
@@ -36,7 +36,8 @@ static int set_one_signal_handler(int sig, void (*handler)(int))
return -1;
}
- if (old_sa.sa_handler == SIG_DFL &&
+ if ((old_sa.sa_handler == SIG_DFL ||
+ (sig == SIGHUP && old_sa.sa_handler == SIG_IGN)) &&
sigaction(sig, &sa, NULL) == -1) {
perror("fuse: cannot set signal handler");
return -1;