int main(void) { cleanupsems(); pid_t server_pid = run_child(server); pid_t client_pid = run_child(client); int server_s, client_s; waitpid(server_pid, &server_s, 0); waitpid(client_pid, &client_s, 0); printf("\n"); int ret = EXIT_FAILURE; if (server_s == 0 && client_s == 0) { ret = EXIT_SUCCESS; } return ret; }
/**************************************************************** * signal semaphore *****************************************************************/ static void sighandler(int i) { fprintf(stderr, "signal %d received, cleaning up.\n", i); cleanupsems(); exit(1); }