termux-packages/packages/qalc/Calculator.cc.patch
2016-09-08 15:23:31 +02:00

40 lines
1.2 KiB
Diff

--- ../../build/qalc/cache/libqalculate-0.9.9/libqalculate/Calculator.cc 2016-07-16 14:49:15.000000000 +0200
+++ ./libqalculate/Calculator.cc 2016-08-15 00:21:11.338822562 +0200
@@ -203,8 +203,8 @@
}
void *calculate_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 *calculate_pipe = (FILE*) pipe;
while(true) {
bool b_parse = true;
@@ -1616,7 +1616,7 @@
if(calculate_thread_stopped) {
b_busy = false;
} else {
- pthread_cancel(calculate_thread);
+ pthread_kill(calculate_thread, 0);
restoreState();
stopped_messages_count.clear();
stopped_warnings_count.clear();
@@ -1640,14 +1640,14 @@
tmp_rpn_mstruct = NULL;
b_busy = false;
calculate_thread_stopped = true;
- pthread_exit(/* Solaris 2.6 needs a cast */ (void*) PTHREAD_CANCELED);
+ pthread_exit(0);
}
bool Calculator::busy() {
return b_busy;
}
void Calculator::terminateThreads() {
if(!calculate_thread_stopped) {
- pthread_cancel(calculate_thread);
+ pthread_kill(calculate_thread, 0);
}
}