Merge pull request #56 from jelmer/kcm-fix-sigterm
Fix handling of SIGINT/SIGTERM in kcm.
This commit is contained in:
16
kcm/main.c
16
kcm/main.c
@@ -35,18 +35,10 @@
|
|||||||
|
|
||||||
RCSID("$Id$");
|
RCSID("$Id$");
|
||||||
|
|
||||||
sig_atomic_t exit_flag = 0;
|
|
||||||
|
|
||||||
krb5_context kcm_context = NULL;
|
krb5_context kcm_context = NULL;
|
||||||
|
|
||||||
const char *service_name = "org.h5l.kcm";
|
const char *service_name = "org.h5l.kcm";
|
||||||
|
|
||||||
static RETSIGTYPE
|
|
||||||
sigterm(int sig)
|
|
||||||
{
|
|
||||||
exit_flag = 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
static RETSIGTYPE
|
static RETSIGTYPE
|
||||||
sigusr1(int sig)
|
sigusr1(int sig)
|
||||||
{
|
{
|
||||||
@@ -78,13 +70,9 @@ main(int argc, char **argv)
|
|||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
|
|
||||||
sa.sa_flags = 0;
|
sa.sa_flags = 0;
|
||||||
sa.sa_handler = sigterm;
|
sa.sa_handler = sigusr1;
|
||||||
sigemptyset(&sa.sa_mask);
|
sigemptyset(&sa.sa_mask);
|
||||||
|
|
||||||
sigaction(SIGINT, &sa, NULL);
|
|
||||||
sigaction(SIGTERM, &sa, NULL);
|
|
||||||
|
|
||||||
sa.sa_handler = sigusr1;
|
|
||||||
sigaction(SIGUSR1, &sa, NULL);
|
sigaction(SIGUSR1, &sa, NULL);
|
||||||
|
|
||||||
sa.sa_handler = sigusr2;
|
sa.sa_handler = sigusr2;
|
||||||
@@ -94,8 +82,6 @@ main(int argc, char **argv)
|
|||||||
sigaction(SIGPIPE, &sa, NULL);
|
sigaction(SIGPIPE, &sa, NULL);
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
signal(SIGINT, sigterm);
|
|
||||||
signal(SIGTERM, sigterm);
|
|
||||||
signal(SIGUSR1, sigusr1);
|
signal(SIGUSR1, sigusr1);
|
||||||
signal(SIGUSR2, sigusr2);
|
signal(SIGUSR2, sigusr2);
|
||||||
signal(SIGPIPE, SIG_IGN);
|
signal(SIGPIPE, SIG_IGN);
|
||||||
|
Reference in New Issue
Block a user