KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
What is the best way in C on Linux for setting up a program that can handle multiple POSIX-signals with the same function? For example in my code I have a handler function that I want to generically call when ever a signal is caught to perform some actions: /* Exit handler function called by sigaction */ void exitHandler( int sig, siginfo_t *siginfo, void *ignore ) { printf("*** Got %d signal from %d\n", siginfo->si_signo, siginfo->si_pid); loopCounter=0; return; } I have set up two signals to catch by having individual sigaction calls for each signal: /* Set exit handler function for SIGUSR1 , SIGINT (ctrl+c) */ struct sigaction act; act.sa_flags = SA_SIGINFO; act.sa_sigaction = exitHandler; sigaction( SIGUSR1, &act, 0 ); sigaction( SIGINT, &act, 0 ); Is this the correct way to set up this type of handling? Is there any other way where I don't have to enumerate all the possible signal numbers?
Tags (comma-separated)
Save Edits
Cancel