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 | 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 | 80 | #if defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) |
| 73 | 81 | pthread_cancel(thread); |