Fix bugs in fetch backend of powerpc64le
[platform/upstream/ltrace.git] / testsuite / ltrace.main / signals.c
1 /* Ltrace Test : signals.c.
2    Objectives  : Verify that ltrace can trace user defined signal.
3    This file was written by Yao Qi <qiyao@cn.ibm.com>. */
4
5 #include<stdio.h>
6 #include<signal.h>
7 #include <sys/types.h>
8
9 #define LOOP    7
10
11 void 
12 handler(int signum,siginfo_t *info,void *act)
13 {
14   /* Trace printf in signal handler.  */
15   printf("sival_int = %d\n",info->si_value.sival_int);
16 }
17
18 int 
19 main ()
20 {
21   struct sigaction act; 
22   union sigval mysigval;
23   int i;
24   int sig;
25   pid_t pid;
26   
27   mysigval.sival_int=0;
28   
29   /* Use an user-defined signal 1.  */
30   sig = SIGUSR1;
31   pid=getpid();
32   
33   sigemptyset(&act.sa_mask);
34   act.sa_sigaction=handler;
35   act.sa_flags=SA_SIGINFO;
36   
37   if(sigaction(sig,&act,NULL) < 0)
38     {
39       printf("install sigal error\n");
40     }
41   
42   for(i=0; i<LOOP; i++)
43     {
44       sleep(1);
45       sigqueue(pid,sig,mysigval);
46     }
47   return 0;
48 }