xref: /netbsd-src/external/gpl3/gdb/dist/gdb/testsuite/gdb.base/signals.c (revision 9d2109275e137f9027abb05e859af639830e18f5)
1 /* Test GDB dealing with stuff like stepping into sigtramp.  */
2 
3 #include <signal.h>
4 #include <unistd.h>
5 
6 
7 static int count = 0;
8 
9 static void
handler(int sig)10 handler (int sig)
11 {
12   signal (sig, handler);
13   ++count;
14 }
15 
16 static void
func1()17 func1 ()
18 {
19   ++count;
20 }
21 
22 static void
func2()23 func2 ()
24 {
25   ++count;
26 }
27 
28 int
main()29 main ()
30 {
31 #ifdef SIGALRM
32   signal (SIGALRM, handler);
33 #endif
34 #ifdef SIGUSR1
35   signal (SIGUSR1, handler);
36 #endif
37   alarm (1);
38   ++count; /* first */
39   alarm (1);
40   ++count; /* second */
41   func1 ();
42   alarm (1);
43   func2 ();
44   return count;
45 }
46