|
@@ -1480,8 +1480,13 @@ static int idtool(int argc,char **argv)
|
|
static void _sighandlerHup(int sig)
|
|
static void _sighandlerHup(int sig)
|
|
{
|
|
{
|
|
}
|
|
}
|
|
|
|
+static void _sighandlerReallyQuit(int sig)
|
|
|
|
+{
|
|
|
|
+ exit(0);
|
|
|
|
+}
|
|
static void _sighandlerQuit(int sig)
|
|
static void _sighandlerQuit(int sig)
|
|
{
|
|
{
|
|
|
|
+ alarm(5); // force exit after 5s
|
|
OneService *s = zt1Service;
|
|
OneService *s = zt1Service;
|
|
if (s)
|
|
if (s)
|
|
s->terminate();
|
|
s->terminate();
|
|
@@ -1873,7 +1878,7 @@ int main(int argc,char **argv)
|
|
signal(SIGIO,SIG_IGN);
|
|
signal(SIGIO,SIG_IGN);
|
|
signal(SIGUSR1,SIG_IGN);
|
|
signal(SIGUSR1,SIG_IGN);
|
|
signal(SIGUSR2,SIG_IGN);
|
|
signal(SIGUSR2,SIG_IGN);
|
|
- signal(SIGALRM,SIG_IGN);
|
|
|
|
|
|
+ signal(SIGALRM,&_sighandlerReallyQuit);
|
|
signal(SIGINT,&_sighandlerQuit);
|
|
signal(SIGINT,&_sighandlerQuit);
|
|
signal(SIGTERM,&_sighandlerQuit);
|
|
signal(SIGTERM,&_sighandlerQuit);
|
|
signal(SIGQUIT,&_sighandlerQuit);
|
|
signal(SIGQUIT,&_sighandlerQuit);
|