try{
((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->lock();
((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->stateThread = cv::DetectionBasedTracker::SeparateDetectionWork::STATE_THREAD_STOPPED;
+ ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->isObjectDetectingReady=false;
+ ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->shouldObjectDetectingResultsBeForgot=false;
+#ifdef USE_STD_THREADS
+ objectDetectorThreadStartStop.notify_one();
+#else
+ pthread_cond_signal(&objectDetectorThreadStartStop);
+#endif
((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->unlock();
} catch(...) {
LOGE0("DetectionBasedTracker: workcycleObjectDetectorFunction: ERROR concerning pointer, received as the function parameter");
objects.clear();
}// while(isWorking())
-#ifdef USE_STD_THREADS
- mtx_lock.lock();
-#else
- pthread_mutex_lock(&mutex);
-#endif
-
- stateThread=STATE_THREAD_STOPPED;
-
- isObjectDetectingReady=false;
- shouldObjectDetectingResultsBeForgot=false;
-
-#ifdef USE_STD_THREADS
- objectDetectorThreadStartStop.notify_one();
- mtx_lock.unlock();
-#else
- pthread_cond_signal(&objectDetectorThreadStartStop);
- pthread_mutex_unlock(&mutex);
-#endif
-
LOGI("DetectionBasedTracker::SeparateDetectionWork::workcycleObjectDetector: Returning");
}