Showing the changes to src/core/util_thread.cpp (1 of 1 file). Show all
Unified · Split
| @@ -67,7 +67,15 @@ XThread::XThread( ) · 66 unmodified lines | |||
| 67 | //----------------------------------------------------------------------------- | 67 | //----------------------------------------------------------------------------- |
| 68 | XThread::~XThread( ) | 68 | XThread::~XThread( ) |
| 69 | { | 69 | { |
| 70 | if( thread != 0 && thread != pthread_self() ) | 70 | #if defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) |
| 71 | // cant terminate self | ||
| 72 | bool is_self_thread = (thread != pthread_self()); | ||
| 73 | #elif defined(__PLATFORM_WIN32__) | ||
| 74 | // ignore for now | ||
| 75 | bool is_self_thread = false; | ||
| 76 | #endif | ||
| 77 | |||
| 78 | if( thread != 0 && !is_self_thread) | ||
| 71 | { | 79 | { |
| 72 | #if defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) | 80 | #if defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) |
| 73 | pthread_cancel(thread); | 81 | pthread_cancel(thread); |