1320572Sdim/* Test GDB dealing with stuff like stepping into sigtramp.  */
2317017Sdim
3353358Sdim#include <signal.h>
4353358Sdim#include <unistd.h>
5353358Sdim
6317017Sdim
7317017Sdimstatic int count = 0;
8317017Sdim
9317017Sdimstatic void
10320572Sdimhandler (int sig)
11321238Sdim{
12320572Sdim  signal (sig, handler);
13320572Sdim  ++count;
14320572Sdim}
15317017Sdim
16317017Sdimstatic void
17317017Sdimfunc1 ()
18317017Sdim{
19317017Sdim  ++count;
20317017Sdim}
21317017Sdim
22317017Sdimstatic void
23317017Sdimfunc2 ()
24317017Sdim{
25317017Sdim  ++count;
26320572Sdim}
27317017Sdim
28317017Sdimint
29317017Sdimmain ()
30317017Sdim{
31317017Sdim#ifdef SIGALRM
32317017Sdim  signal (SIGALRM, handler);
33317017Sdim#endif
34317017Sdim#ifdef SIGUSR1
35317017Sdim  signal (SIGUSR1, handler);
36317017Sdim#endif
37317017Sdim  alarm (1);
38317017Sdim  ++count; /* first */
39317017Sdim  alarm (1);
40317017Sdim  ++count; /* second */
41317017Sdim  func1 ();
42321238Sdim  alarm (1);
43321238Sdim  func2 ();
44321238Sdim  return count;
45321238Sdim}
46321238Sdim