From bcdcc64c373b5db66b8e07ab6529ede2d983e036 Mon Sep 17 00:00:00 2001 From: PA4WDH Date: Thu, 12 Sep 2024 13:58:56 +0200 Subject: Improve signal handling --- cputemp2maxfreq.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'cputemp2maxfreq.c') diff --git a/cputemp2maxfreq.c b/cputemp2maxfreq.c index d146158..212fb39 100644 --- a/cputemp2maxfreq.c +++ b/cputemp2maxfreq.c @@ -92,6 +92,7 @@ int main(int argc,char **argv) struct s_sensor sensor; char *transition_latency_remark; char sensor_string[20]; + struct sigaction sigact={0}; argparse(argc,argv); config.logger("%s version %s, buildtime %s %s",config.name,version(),__DATE__,__TIME__); @@ -263,9 +264,14 @@ int main(int argc,char **argv) if (config.csvlog[0]!=0) csvlog_init(); // Set signal handlers - signal(SIGTERM,signal_handler); - signal(SIGINT,signal_handler); - signal(SIGQUIT,signal_handler); + sigact.sa_handler=&signal_handler; + sigemptyset(&sigact.sa_mask); + sigaddset(&sigact.sa_mask,SIGTERM); + sigaddset(&sigact.sa_mask,SIGINT); + sigaddset(&sigact.sa_mask,SIGQUIT); + sigaction(SIGTERM,&sigact,NULL); + sigaction(SIGINT,&sigact,NULL); + sigaction(SIGQUIT,&sigact,NULL); while(1) { -- cgit v1.2.3