Showing the changes to src/core/util_thread.cpp (1 of 31 files). Show all
Unified · Split
| @@ -81,13 +81,15 @@ XThread::~XThread( ) · 80 unmodified lines | ||
| 81 | 81 | // TODO: find an alternative for Android? |
| 82 | 82 | #if defined(__PLATFORM_MACOSX__) || ( defined(__PLATFORM_LINUX__) && !defined(__ANDROID__) ) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_OPENBSD__) |
| 83 | 83 | // log |
| 84 | − EM_log( CK_LOG_FINER, "cancelling XThread: %u on thread: %u", (t_CKUINT)thread, (t_CKUINT)pthread_self() ); | |
| 84 | + EM_log( CK_LOG_FINER, "cancelling thread [0x%x] from [0x%x]...", getID(thread), getID(pthread_self()) ); | |
| 85 | 85 | pthread_cancel(thread); |
| 86 | 86 | pthread_join(thread, NULL); |
| 87 | 87 | // log |
| 88 | − EM_log( CK_LOG_FINER, "joined with XThread: %u on thread: %u", (t_CKUINT)thread, (t_CKUINT)pthread_self() ); | |
| 88 | + EM_log( CK_LOG_FINER, "joined with thread [0x%x] from [0x%x]", getID(thread), getID(pthread_self()) ); | |
| 89 | 89 | #elif defined(__PLATFORM_WIN32__) |
| 90 | − TerminateThread((HANDLE)thread, 0); | |
| 90 | + // log | |
| 91 | + EM_log( CK_LOG_FINER, "terminating thread [0x%x] from [0x%x]...", getID(thread), (t_CKUINT)GetCurrentThreadId() ); | |
| 92 | + TerminateThread( (HANDLE)thread, 0 ); | |
| 91 | 93 | #endif |
| 92 | 94 | } |
| 93 | 95 | } |
| @@ -105,11 +107,18 @@ bool XThread::start( THREAD_FUNCTION routine, void * ptr ) · 11 unmodified lines | ||
| 105 | 107 | |
| 106 | 108 | #if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) || defined(__PLATFORM_OPENBSD__) ) |
| 107 | 109 | if( pthread_create( &thread, NULL, *routine, ptr ) == 0 ) |
| 110 | + { | |
| 111 | + EM_log( CK_LOG_FINER, "starting thread [0x%x] from [0x%x]...", thread, getID(pthread_self()) ); | |
| 108 | 112 | result = true; |
| 113 | + } | |
| 109 | 114 | #elif defined(__PLATFORM_WIN32__) |
| 110 | 115 | unsigned thread_id; |
| 111 | 116 | thread = _beginthreadex( NULL, 0, routine, ptr, 0, &thread_id ); |
| 112 | − if( thread ) result = true; | |
| 117 | + if( thread ) | |
| 118 | + { | |
| 119 | + EM_log( CK_LOG_FINER, "starting thread [0x%x] from [0x%x]...", thread_id, (t_CKUINT)GetCurrentThreadId() ); | |
| 120 | + result = true; | |
| 121 | + } | |
| 113 | 122 | #endif |
| 114 | 123 | return result; |
| 115 | 124 | } |
| @@ -164,6 +173,22 @@ void XThread :: test( ) · 48 unmodified lines | ||
| 164 | 173 | |
| 165 | 174 | |
| 166 | 175 | |
| 176 | +//----------------------------------------------------------------------------- | |
| 177 | +// name: getID() | 1.5.0.4 (ge) added | |
| 178 | +// desc: get thread id from a thread handle | |
| 179 | +//----------------------------------------------------------------------------- | |
| 180 | +t_CKUINT XThread::getID( THREAD_HANDLE t ) | |
| 181 | +{ | |
| 182 | +#if ( defined(__PLATFORM_MACOSX__) || defined(__PLATFORM_LINUX__) || defined(__WINDOWS_PTHREAD__) ) | |
| 183 | + return (t_CKUINT)t; | |
| 184 | +#elif defined(__PLATFORM_WIN32__) | |
| 185 | + return (t_CKUINT)GetThreadId( (HANDLE)t ); | |
| 186 | +#endif | |
| 187 | +} | |
| 188 | + | |
| 189 | + | |
| 190 | + | |
| 191 | + | |
| 167 | 192 | //----------------------------------------------------------------------------- |
| 168 | 193 | // name: XMutex() |
| 169 | 194 | // desc: ... |
| @@ -295,11 +320,11 @@ void XWriteThread::shutdown() · 125 unmodified lines | ||
| 295 | 320 | SmartPushLog logPush; |
| 296 | 321 | |
| 297 | 322 | // log |
| 298 | − EM_log( CK_LOG_FINER, "waiting on write thread: %u", (t_CKUINT)m_thread.getThread() ); | |
| 323 | + EM_log( CK_LOG_FINER, "waiting on write thread [0x%x]...", m_thread.getID() ); | |
| 299 | 324 | // wait on the thread |
| 300 | 325 | m_thread.wait( -1, false ); |
| 301 | 326 | // log |
| 302 | − EM_log( CK_LOG_FINER, "done waiting for thread: %u", (t_CKUINT)m_thread.getThread() ); | |
| 327 | + EM_log( CK_LOG_FINER, "done waiting for thread [0x%x]", m_thread.getID() ); | |
| 303 | 328 | } |
| 304 | 329 | |
| 305 | 330 | |
| @@ -315,9 +340,9 @@ size_t XWriteThread::fwrite(const void * ptr, size_t size, size_t nitems, FILE * · 9 unmodified lines | ||
| 315 | 340 | flush_data_buffer(); |
| 316 | 341 | |
| 317 | 342 | // TODO: overflow detection |
| 318 | − if(m_data_buffer->put((char*)ptr, size*nitems) == 0) | |
| 343 | + if( m_data_buffer->put((char*)ptr, size*nitems) == 0 ) | |
| 319 | 344 | { |
| 320 | − EM_log(CK_LOG_SEVERE, "XWriteThread::fwrite: data buffer overflow"); | |
| 345 | + EM_log( CK_LOG_SEVERE, "XWriteThread::fwrite(): data buffer overflow!" ); | |
| 321 | 346 | } |
| 322 | 347 | |
| 323 | 348 | m_bytes_in_buffer += size*nitems; |
| @@ -435,8 +460,8 @@ unsigned XWriteThread::write_cb(void * _thiss) · 111 unmodified lines | ||
| 435 | 460 | msg.write.data_size); |
| 436 | 461 | if(actual_size != msg.write.data_size) |
| 437 | 462 | { |
| 438 | − EM_log(CK_LOG_SEVERE, "XWriteThread: buffered data size mismatch (%li : %li)", | |
| 439 | − msg.write.data_size, actual_size); | |
| 463 | + EM_log( CK_LOG_SEVERE, "XWriteThread: buffered data size mismatch (%li : %li)", | |
| 464 | + msg.write.data_size, actual_size ); | |
| 440 | 465 | } |
| 441 | 466 | |
| 442 | 467 | ::fwrite(_this->m_thread_buffer, 1, actual_size, msg.file); |
| @@ -492,7 +517,7 @@ t_CKBOOL XThreadUtil::set_priority( CHUCK_THREAD tid, t_CKINT priority ) · 49 unmodified lines | ||
| 492 | 517 | int policy; |
| 493 | 518 | |
| 494 | 519 | // log |
| 495 | − EM_log( CK_LOG_INFO, "setting thread priority to: %ld...", priority ); | |
| 520 | + EM_log( CK_LOG_INFO, "setting thread [0x%x] priority to: %ld...", (t_CKUINT)tid, priority ); | |
| 496 | 521 | |
| 497 | 522 | // get for thread |
| 498 | 523 | if( pthread_getschedparam( tid, &policy, ¶m) ) |
| @@ -552,7 +577,7 @@ t_CKBOOL XThreadUtil::set_priority( CHUCK_THREAD tid, t_CKINT priority ) · 53 unmodified lines | ||
| 552 | 577 | if( !priority ) return TRUE; |
| 553 | 578 | |
| 554 | 579 | // log |
| 555 | − EM_log( CK_LOG_FINE, "setting thread priority to: %ld...", priority ); | |
| 580 | + EM_log( CK_LOG_FINE, "setting thread [0x%x] priority to: %ld...", (t_CKUINT)GetThreadId(tid), priority ); | |
| 556 | 581 | |
| 557 | 582 | // set the priority the thread, windows style |
| 558 | 583 | if( !SetThreadPriority( tid, priority ) ) |