diff --git a/chat-client.c b/chat-client.c index fe608f5b28f63cbf1de9975beb7ac4490f172b97..876ad300c1c3d8038bde96c410ee2e909aa974b5 100644 --- a/chat-client.c +++ b/chat-client.c @@ -142,7 +142,18 @@ void *handle_outputs(void *window_arg) { void on_signal(int sig) { running = false; send_message(socket_fd, "EXIT"); - cleanup(); +// cleanup(); + sigset(SIGINT, SIG_IGN); + sigset(SIGSEGV, SIG_IGN); + sigset(SIGABRT, SIG_IGN); + nocrmode(); + echo(); + nl(); + curs_set(initial_cursor_state); + endwin(); + close(socket_fd); + pthread_mutex_destroy(&mutex); + fprintf(stderr, "Terminating due to signal %d.\n", sig); exit(128 + sig); }