]>
Commit | Line | Data |
---|---|---|
acddc0ed | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
12e41d03 | 2 | /* |
896014f4 DL |
3 | * PIM for Quagga |
4 | * Copyright (C) 2008 Everton da Silva Marques | |
896014f4 | 5 | */ |
12e41d03 | 6 | |
7a2fbbf0 DL |
7 | #include <zebra.h> |
8 | ||
12e41d03 DL |
9 | #include <signal.h> |
10 | ||
12e41d03 DL |
11 | #include "sigevent.h" |
12 | #include "memory.h" | |
13 | #include "log.h" | |
9df99407 | 14 | #include "if.h" |
12e41d03 DL |
15 | |
16 | #include "pim_signals.h" | |
17 | #include "pimd.h" | |
18 | ||
19 | /* | |
20 | * Signal handlers | |
21 | */ | |
22 | ||
4d762f26 | 23 | static void pim_sighup(void) |
12e41d03 | 24 | { |
d62a17ae | 25 | zlog_info("SIGHUP received, ignoring"); |
12e41d03 DL |
26 | } |
27 | ||
4d762f26 | 28 | static void pim_sigint(void) |
12e41d03 | 29 | { |
d62a17ae | 30 | zlog_notice("Terminating on signal SIGINT"); |
31 | pim_terminate(); | |
32 | exit(1); | |
12e41d03 DL |
33 | } |
34 | ||
4d762f26 | 35 | static void pim_sigterm(void) |
12e41d03 | 36 | { |
d62a17ae | 37 | zlog_notice("Terminating on signal SIGTERM"); |
38 | pim_terminate(); | |
39 | exit(1); | |
12e41d03 DL |
40 | } |
41 | ||
4d762f26 | 42 | static void pim_sigusr1(void) |
12e41d03 | 43 | { |
d62a17ae | 44 | zlog_rotate(); |
12e41d03 DL |
45 | } |
46 | ||
7cc91e67 | 47 | struct frr_signal_t pimd_signals[] = { |
d62a17ae | 48 | { |
49 | .signal = SIGHUP, | |
50 | .handler = &pim_sighup, | |
51 | }, | |
52 | { | |
53 | .signal = SIGUSR1, | |
54 | .handler = &pim_sigusr1, | |
55 | }, | |
56 | { | |
57 | .signal = SIGINT, | |
58 | .handler = &pim_sigint, | |
59 | }, | |
60 | { | |
61 | .signal = SIGTERM, | |
62 | .handler = &pim_sigterm, | |
63 | }, | |
12e41d03 | 64 | }; |