diff options
author | kay.sievers@vrfy.org <kay.sievers@vrfy.org> | 2004-11-05 13:16:32 +0100 |
---|---|---|
committer | Greg KH <gregkh@suse.de> | 2005-04-26 22:09:26 -0700 |
commit | 5a73b25fd6673134328443af04afe7bde0060d72 (patch) | |
tree | de593704b0c3554195a10f8464b18ec9e731c2e7 /udev.c | |
parent | a5d00f9d3725c701d5a2d7a14dfcc7864aac27fb (diff) |
[PATCH] Don't use any syslog() in signal handler, cause it may deadlock.
Diffstat (limited to 'udev.c')
-rw-r--r-- | udev.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -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); |