|
CS471/571 - Operating Systems
|
Displaying ./code/Signals/signal.c
#include <stdio.h>
#include <unistd.h>
#include <signal.h>
#include <string.h>
void handler(int sig, siginfo_t *info, void *ctxt)
{
printf("signal = %d\n", sig);
printf("info = %d\n", info->si_value.sival_int);
}
int main(void)
{
struct sigaction sa;
memset(&sa, 0, sizeof(struct sigaction));
sa.sa_handler = NULL;
sa.sa_sigaction = handler;
sa.sa_flags = SA_RESTART | SA_SIGINFO;
sa.sa_restorer = NULL;
for(int sig = 0; sig < 32; sig++)
sigaction(sig, &sa, NULL);
while(1) pause();
return 0;
}
|