/* Ltrace Test : signals.c. Objectives : Verify that ltrace can trace user defined signal. This file was written by Yao Qi . */ #include #include #include #define LOOP 7 void handler(int signum,siginfo_t *info,void *act) { /* Trace printf in signal handler. */ printf("sival_int = %d\n",info->si_value.sival_int); } int main () { struct sigaction act; union sigval mysigval; int i; int sig; pid_t pid; mysigval.sival_int=0; /* Use an user-defined signal 1. */ sig = SIGUSR1; pid=getpid(); sigemptyset(&act.sa_mask); act.sa_sigaction=handler; act.sa_flags=SA_SIGINFO; if(sigaction(sig,&act,NULL) < 0) { printf("install sigal error\n"); } for(i=0; i