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