Force exit program for the second ^C

This commit is contained in:
Shuanglei Tao
2016-09-20 20:08:03 +08:00
parent 1f579b491a
commit 20c5341dab

View File

@@ -93,11 +93,15 @@ tty_server_new(int argc, char **argv) {
void void
sig_handler(int sig) { sig_handler(int sig) {
if (force_exit)
exit(EXIT_FAILURE);
char sig_name[20]; char sig_name[20];
get_sig_name(sig, sig_name); get_sig_name(sig, sig_name);
lwsl_notice("received signal: %s (%d)\n", sig_name, sig); lwsl_notice("received signal: %s (%d), exiting...\n", sig_name, sig);
force_exit = true; force_exit = true;
lws_cancel_service(context); lws_cancel_service(context);
lwsl_notice("send ^C to force exit.\n");
} }
int int
@@ -266,7 +270,8 @@ main(int argc, char **argv) {
#endif #endif
} }
signal(SIGINT, sig_handler); signal(SIGINT, sig_handler); // ^C
signal(SIGTERM, sig_handler); // kill
context = lws_create_context(&info); context = lws_create_context(&info);
if (context == NULL) { if (context == NULL) {