diff --git a/ldpd/lde.c b/ldpd/lde.c index 3247c8c1cc..e927e45367 100644 --- a/ldpd/lde.c +++ b/ldpd/lde.c @@ -105,6 +105,10 @@ sigint(void) static struct quagga_signal_t lde_signals[] = { + { + .signal = SIGHUP, + /* ignore */ + }, { .signal = SIGINT, .handler = &sigint, diff --git a/ldpd/ldpe.c b/ldpd/ldpe.c index 6c542c5e34..ada732d6fc 100644 --- a/ldpd/ldpe.c +++ b/ldpd/ldpe.c @@ -87,6 +87,10 @@ sigint(void) static struct quagga_signal_t ldpe_signals[] = { + { + .signal = SIGHUP, + /* ignore */ + }, { .signal = SIGINT, .handler = &sigint, diff --git a/lib/sigevent.c b/lib/sigevent.c index a120028d81..09f07180ce 100644 --- a/lib/sigevent.c +++ b/lib/sigevent.c @@ -108,7 +108,8 @@ quagga_sigevent_process (void) if (sig->caught > 0) { sig->caught = 0; - sig->handler (); + if (sig->handler) + sig->handler (); } } }