void *ar2Tracking2d( THREAD_HANDLE_T *threadHandle ) { AR2Tracking2DParamT *arg; int ID; arg = (AR2Tracking2DParamT *)threadGetArg(threadHandle); ID = threadGetID(threadHandle); ARLOGi("Start tracking_thread #%d.\n", ID); for(;;) { if( threadStartWait(threadHandle) < 0 ) break; #if AR2_CAPABLE_ADAPTIVE_TEMPLATE arg->ret = ar2Tracking2dSub( arg->ar2Handle, arg->surfaceSet, arg->candidate, arg->dataPtr, arg->mfImage, &(arg->templ), &(arg->templ2), &(arg->result) ); #else arg->ret = ar2Tracking2dSub( arg->ar2Handle, arg->surfaceSet, arg->candidate, arg->dataPtr, arg->mfImage, &(arg->templ), &(arg->result) ); #endif threadEndSignal(threadHandle); } ARLOGi("End tracking_thread #%d.\n", ID); return NULL; }
unsigned Extrae_get_thread_number (void) { #if defined(OMP_SUPPORT) return omp_get_thread_num(); #elif defined(SMPSS_SUPPORT) return css_get_thread_num(); #elif defined(NANOS_SUPPORT) /* return nanos_extrae_get_thread_num(); */ return get_thread_num(); #elif defined(PTHREAD_SUPPORT) return Backend_GetpThreadIdentifier(); #elif defined(TRT_SUPPORT) return threadGetID(); #elif defined(UPC_SUPPORT) return GetUPCthreadID(); #else return get_thread_num(); #endif }
void TestThread::run() { ppl7::PrintDebugTime("Thread %u: gestartet\n",threadGetID()); ppl7::MSleep(500); ppl7::PrintDebugTime("Thread %u: wird beendet\n",threadGetID()); }