Also catch SIGPIPE.
authorAndre Noll <maan@systemlinux.org>
Sun, 1 Jun 2008 16:43:39 +0000 (18:43 +0200)
committerAndre Noll <maan@systemlinux.org>
Sun, 1 Jun 2008 16:43:39 +0000 (18:43 +0200)
Otherwise, "adu -S | invalid_command" kills the adu process and
we're left with dirty osl tables.

adu.c

diff --git a/adu.c b/adu.c
index 821ce26..3fca7a0 100644 (file)
--- a/adu.c
+++ b/adu.c
@@ -372,6 +372,8 @@ static int init_signals(void)
                return -E_SIGNAL_SIG_ERR;
        if (signal(SIGTERM, &signal_handler) == SIG_ERR)
                return -E_SIGNAL_SIG_ERR;
+       if (signal(SIGPIPE, &signal_handler) == SIG_ERR)
+               return -E_SIGNAL_SIG_ERR;
        return 1;
 }