diff --git a/c/unix/event.c b/c/unix/event.c index 4042487..f445b4a 100644 --- a/c/unix/event.c +++ b/c/unix/event.c @@ -30,6 +30,8 @@ static void when_sigpipe_interrupt(); static void when_scsh_interrupt(); /* JMG: for scsh */ static long interrupt_count[32]; +static int s48_os_signal_pending(void); +static int s48_os_signal_happend(void); bool s48_setcatcher(int signum, void (*catcher)(int)); @@ -39,6 +41,7 @@ void s48_start_alarm_interrupts(void); void s48_sysdep_init(void) { + int i; if (!s48_setcatcher(SIGINT, when_keyboard_interrupt) || !s48_setcatcher(SIGALRM, when_alarm_interrupt) || !s48_setcatcher(SIGPIPE, when_sigpipe_interrupt)) { @@ -47,6 +50,9 @@ s48_sysdep_init(void) errno); exit(1); } + for (i = 0; i < max_sig; i++) + interrupt_count[i] = 0; + /* JMG: for scsh */ s48_setcatcher(SIGCHLD, when_scsh_interrupt);