summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xmdkapplet8
1 files changed, 7 insertions, 1 deletions
diff --git a/mdkapplet b/mdkapplet
index f0661dbd..d245f900 100755
--- a/mdkapplet
+++ b/mdkapplet
@@ -165,7 +165,13 @@ $icon->show_all;
$SIG{USR1} = 'IGNORE';
$SIG{USR2} = 'IGNORE';
$SIG{CHLD} = \&harvester;
-$SIG{HUP} = \&restart_applet;
+
+# POSIX unmasks the sigprocmask properly
+my $sigset = POSIX::SigSet->new;
+my $action = POSIX::SigAction->new('restart_applet',
+ $sigset,
+ &POSIX::SA_NODEFER);
+POSIX::sigaction(&POSIX::SIGHUP, $action);
Glib::Timeout->add(200, sub { harvester('CHLD', 1); 1 });