diff options
author | Tobias Klauser <tklauser@distanz.ch> | 2014-02-22 11:19:59 +0100 |
---|---|---|
committer | Tobias Klauser <tklauser@distanz.ch> | 2014-02-22 11:19:59 +0100 |
commit | 752a83809f667c35cd4e8e84c7b4f380c0afd9b0 (patch) | |
tree | 39ae611ac3b36aa7edbfbced29fe19db2d183404 /trafgen.c | |
parent | 064f4eddf1facae6eb50a7d928c6b049ee4231bf (diff) |
trafgen: Exit gracefully for all possible termination signals
Handle all termination signals that we're allowed to handle (SIGKILL
can't be handled) in order to exit gracefully in any regular termination
case.
Signed-off-by: Tobias Klauser <tklauser@distanz.ch>
Diffstat (limited to 'trafgen.c')
-rw-r--r-- | trafgen.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -132,6 +132,8 @@ static void signal_handler(int number) { switch (number) { case SIGINT: + case SIGQUIT: + case SIGTERM: sigint = 1; case SIGHUP: default: @@ -1076,6 +1078,8 @@ int main(int argc, char **argv) panic("This is no networking device!\n"); register_signal(SIGINT, signal_handler); + register_signal(SIGQUIT, signal_handler); + register_signal(SIGTERM, signal_handler); register_signal(SIGHUP, signal_handler); register_signal_f(SIGALRM, timer_elapsed, SA_SIGINFO); |