From ff6881efbff0b023db730637199affb40b7d7972 Mon Sep 17 00:00:00 2001 From: rajithr Date: Tue, 26 May 2015 11:31:31 +0530 Subject: [PATCH] Fix for a potential data race condition --- modules/objdetect/src/detection_based_tracker.cpp | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/objdetect/src/detection_based_tracker.cpp b/modules/objdetect/src/detection_based_tracker.cpp index f08bbd1dd5..1f0fb5a5d5 100644 --- a/modules/objdetect/src/detection_based_tracker.cpp +++ b/modules/objdetect/src/detection_based_tracker.cpp @@ -284,7 +284,9 @@ void* cv::workcycleObjectDetectorFunction(void* p) { CATCH_ALL_AND_LOG({ ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->workcycleObjectDetector(); }); try{ + ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->lock(); ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->stateThread = cv::DetectionBasedTracker::SeparateDetectionWork::STATE_THREAD_STOPPED; + ((cv::DetectionBasedTracker::SeparateDetectionWork*)p)->unlock(); } catch(...) { LOGE0("DetectionBasedTracker: workcycleObjectDetectorFunction: ERROR concerning pointer, received as the function parameter"); }