--- ../../build/qalc/cache/libqalculate-0.9.9/src/qalc.cc 2016-07-26 14:41:40.000000000 +0200 +++ ./src/qalc.cc 2016-08-15 00:22:57.905765966 +0200 @@ -295,7 +295,7 @@ save_defs(); } } - pthread_cancel(view_thread); + pthread_kill(view_thread, 0); CALCULATOR->terminateThreads(); } @@ -1138,7 +1138,7 @@ if(!cfile) { printf(_("Could not open \"%s\".\n"), command_file.c_str()); if(!interactive_mode) { - pthread_cancel(view_thread); + pthread_kill(view_thread, 0); CALCULATOR->terminateThreads(); return 0; } @@ -1166,7 +1166,7 @@ execute_expression(interactive_mode); } if(!interactive_mode) { - pthread_cancel(view_thread); + pthread_kill(view_thread, 0); CALCULATOR->terminateThreads(); return 0; } @@ -2619,7 +2619,7 @@ } void on_abort_command() { - pthread_cancel(command_thread); + pthread_kill(command_thread, 0); CALCULATOR->restoreState(); CALCULATOR->clearBuffers(); b_busy = false; @@ -2629,8 +2629,8 @@ void *command_proc(void *pipe) { - pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); - pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); + //pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL); + //pthread_setcanceltype(PTHREAD_CANCEL_ASYNCHRONOUS, NULL); FILE *command_pipe = (FILE*) pipe; while(true) {