Beispiel #1
0
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
}
Beispiel #3
0
void TestThread::run()
{
	ppl7::PrintDebugTime("Thread %u: gestartet\n",threadGetID());
	ppl7::MSleep(500);
	ppl7::PrintDebugTime("Thread %u: wird beendet\n",threadGetID());
}