- memset (&action, 0, sizeof (struct sigaction));
- action.sa_handler = handle_sigalrm;
- sigemptyset (&action.sa_mask);
- action.sa_flags = SA_RESTART;
- sigaction (SIGALRM, &action, NULL);
-
- /* Then start a timer to send SIGALRM once per second. */
- timerval.it_interval.tv_sec = 1;
- timerval.it_interval.tv_usec = 0;
- timerval.it_value.tv_sec = 1;
- timerval.it_value.tv_usec = 0;
- setitimer (ITIMER_REAL, &timerval, NULL);
+ if (! debugger_is_active ()) {
+ memset (&action, 0, sizeof (struct sigaction));
+ action.sa_handler = handle_sigalrm;
+ sigemptyset (&action.sa_mask);
+ action.sa_flags = SA_RESTART;
+ sigaction (SIGALRM, &action, NULL);
+
+ /* Then start a timer to send SIGALRM once per second. */
+ timerval.it_interval.tv_sec = 1;
+ timerval.it_interval.tv_usec = 0;
+ timerval.it_value.tv_sec = 1;
+ timerval.it_value.tv_usec = 0;
+ setitimer (ITIMER_REAL, &timerval, NULL);
+
+ timer_is_active = TRUE;
+ }