xref: /netbsd-src/external/gpl3/gdb.old/dist/gdb/testsuite/gdb.base/signals.c (revision a5a4af3bd380a7b58b758d9b311cef9f7c34aeb4)
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