aboutsummaryrefslogtreecommitdiffstats
path: root/udev.c
diff options
context:
space:
mode:
authorkay.sievers@vrfy.org <kay.sievers@vrfy.org>2004-11-05 13:16:32 +0100
committerGreg KH <gregkh@suse.de>2005-04-26 22:09:26 -0700
commit5a73b25fd6673134328443af04afe7bde0060d72 (patch)
treede593704b0c3554195a10f8464b18ec9e731c2e7 /udev.c
parenta5d00f9d3725c701d5a2d7a14dfcc7864aac27fb (diff)
downloadudev-5a73b25fd6673134328443af04afe7bde0060d72.tar.gz
[PATCH] Don't use any syslog() in signal handler, cause it may deadlock.
Diffstat (limited to 'udev.c')
-rw-r--r--udev.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/udev.c b/udev.c
index cac60fd9..78090605 100644
--- a/udev.c
+++ b/udev.c
@@ -65,14 +65,10 @@ static void asmlinkage sig_handler(int signum)
switch (signum) {
case SIGALRM:
gotalarm = 1;
- info("error: timeout reached, event probably not handled correctly");
break;
case SIGINT:
case SIGTERM:
- udevdb_exit();
exit(20 + signum);
- default:
- dbg("unhandled signal %d", signum);
}
}
@@ -148,6 +144,7 @@ int main(int argc, char *argv[], char *envp[])
/* set signal handlers */
act.sa_handler = (void (*) (int))sig_handler;
sigemptyset (&act.sa_mask);
+ act.sa_flags = 0;
/* alarm must not restart syscalls*/
sigaction(SIGALRM, &act, NULL);
sigaction(SIGINT, &act, NULL);