From acee4615f80428dc725696de666f529e1d071ed3 Mon Sep 17 00:00:00 2001 From: Daniel Hoffman Date: Fri, 19 May 2017 13:36:43 -0500 Subject: [PATCH] double signal handler prevents accidental closes --- src/toxic.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/toxic.c b/src/toxic.c index 358e45d..52ed7ca 100644 --- a/src/toxic.c +++ b/src/toxic.c @@ -104,9 +104,16 @@ static struct user_password { int len; } user_password; +static time_t last_signal_time; + static void catch_SIGINT(int sig) { - Winthread.sig_exit_toxic = 1; + time_t cur_time = get_unix_time(); + if (difftime(cur_time, last_signal_time) <= 1) { + Winthread.sig_exit_toxic = 1; + } else { + last_signal_time = cur_time; + } } static void catch_SIGSEGV(int sig)