diff --git a/programs/tests/t_abort.c b/programs/tests/t_abort.c index adfc2c8..b29ea93 100644 --- a/programs/tests/t_abort.c +++ b/programs/tests/t_abort.c @@ -23,6 +23,8 @@ void sig_handler(int sig) printf("handler(%d) : Correct signal. ABRT (%d/3)\n", sig, counter); if (counter < 3) abort(); + else + exit(0); } else { printf("handler(%d) : Wrong signal.\n", sig); diff --git a/programs/tests/t_sigfpe.c b/programs/tests/t_sigfpe.c index 6c11366..b67efd3 100644 --- a/programs/tests/t_sigfpe.c +++ b/programs/tests/t_sigfpe.c @@ -18,25 +18,13 @@ void sig_handler(int sig) if (sig == SIGFPE) { printf("handler(%d) : Correct signal. FPE\n", sig); printf("handler(%d) : Exiting\n", sig); - // exit(1); + exit(0); } else { printf("handler(%d) : Wrong signal.\n", sig); } printf("handler(%d) : Ending handler.\n", sig); } -long int fact(int n) -{ - if (n == 0 || n == 1) { - return 1; - } - long int pro = 1; - while (n != 1) { - pro *= n--; - } - return pro; -} - int main(int argc, char *argv[]) { sigaction_t action; diff --git a/programs/tests/t_siginfo.c b/programs/tests/t_siginfo.c index 80359da..8ad52d7 100644 --- a/programs/tests/t_siginfo.c +++ b/programs/tests/t_siginfo.c @@ -19,7 +19,7 @@ void sig_handler_info(int sig, siginfo_t *siginfo) printf("handler(%d, %p) : Correct signal.\n", sig, siginfo); printf("handler(%d, %p) : Code : %d\n", sig, siginfo, siginfo->si_code); printf("handler(%d, %p) : Exiting\n", sig, siginfo); - exit(1); + exit(0); } else { printf("handler(%d, %p) : Wrong signal.\n", sig, siginfo); } diff --git a/programs/tests/t_sigusr.c b/programs/tests/t_sigusr.c index 274b346..768e9cc 100644 --- a/programs/tests/t_sigusr.c +++ b/programs/tests/t_sigusr.c @@ -22,7 +22,7 @@ void sig_handler(int sig) counter += 1; if (counter == 2) - exit(1); + exit(0); } else { printf("handler(%d) : Wrong signal.\n", sig); @@ -51,5 +51,5 @@ int main(int argc, char *argv[]) kill(getpid(), SIGUSR2); while(1) { }; - return 0; + return 1; }