From cd180a71debd60cfde2a9b7f60ab7a40f1e1b3fc Mon Sep 17 00:00:00 2001 From: Frank Louwers Date: Thu, 26 Sep 2019 11:22:55 +0200 Subject: [PATCH] Only register our handler when we're pid 1, and change to doExit() --- pdns/pdns_recursor.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/pdns/pdns_recursor.cc b/pdns/pdns_recursor.cc index 5a462be4b..c9a417af2 100644 --- a/pdns/pdns_recursor.cc +++ b/pdns/pdns_recursor.cc @@ -2788,7 +2788,7 @@ static void daemonize(void) static void termIntHandler(int) { - doExitNicely(); + doExit(); } static void usr1Handler(int) @@ -4080,8 +4080,12 @@ static int serviceMain(int argc, char*argv[]) g_log.toConsole(Logger::Critical); daemonize(); } - signal(SIGTERM,termIntHandler); - signal(SIGINT,termIntHandler); + if(Utility::getpid() == 1) { + /* We are running as pid 1, register sigterm and sigint handler */ + signal(SIGTERM,termIntHandler); + signal(SIGINT,termIntHandler); + } + signal(SIGUSR1,usr1Handler); signal(SIGUSR2,usr2Handler); signal(SIGPIPE,SIG_IGN); -- 2.40.0