From 042ff210d57bba264639bcfe8974d0b3304d18a7 Mon Sep 17 00:00:00 2001 From: Vijay Pradeep Date: Thu, 8 Jan 2015 15:26:15 -0800 Subject: [PATCH] Fixing race condition by expanding resultsMutex lock section --- modules/calib3d/src/solvepnp.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/modules/calib3d/src/solvepnp.cpp b/modules/calib3d/src/solvepnp.cpp index 1aeb82f64b..f00958d055 100644 --- a/modules/calib3d/src/solvepnp.cpp +++ b/modules/calib3d/src/solvepnp.cpp @@ -196,18 +196,16 @@ namespace cv } } + resultsMutex.lock(); if (localInliers.size() > inliers.size()) { - resultsMutex.lock(); - inliers.clear(); inliers.resize(localInliers.size()); memcpy(&inliers[0], &localInliers[0], sizeof(int) * localInliers.size()); localRvec.copyTo(rvec); localTvec.copyTo(tvec); - - resultsMutex.unlock(); } + resultsMutex.unlock(); } static void pnpTask(const vector& pointsMask, const Mat& objectPoints, const Mat& imagePoints,