#include #include #include #include #include #include #include #include static int zeroi(void); void fpe_handler(int signal, struct __siginfo *si, void *sc) { printf("fpe_handler signal=%d code=%d addr=%p\n", signal, si->si_code, si->si_addr); fflush(stdout); _exit(1); } int main(int argc, char *argv) { struct sigaction sa, osa; sa.sa_flags = SA_SIGINFO; sa.sa_sigaction = fpe_handler; sigfillset(&sa.sa_mask); if (sigaction(SIGFPE, &sa, &osa) != 0) { perror("sigaction"); return 1; } printf("%d\n", 2000 / zeroi()); return 0; } static int zeroi(void) { return 0; }