diff options
Diffstat (limited to 'lib/fuse_signals.c')
-rw-r--r-- | lib/fuse_signals.c | 3 |
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; |