-- int ret = pthread_cancel(m_thread);
-+ int ret = pthread_kill(m_thread, 0);
- running = (ret != 0);
+ if(!running) return true;
+- running = pthread_cancel(m_thread) != 0;
++ //running = pthread_cancel(m_thread) != 0;
++ running = pthread_kill(m_thread, 0) != 0;