Fix mutex lock issues (OCR and FR)
This commit is contained in:
@@ -223,12 +223,14 @@ namespace ANSCENTER {
|
||||
bool useDynamicImage,
|
||||
bool validateFace)
|
||||
{
|
||||
if (_modelLoading.load()) return {};
|
||||
// Phase 1: Validation + image preprocessing (brief lock)
|
||||
cv::Mat im;
|
||||
bool croppedFace;
|
||||
float scoreThreshold;
|
||||
{
|
||||
std::lock_guard<std::recursive_mutex> lock(_mutex);
|
||||
auto lock = TryLockWithTimeout("ANSSCRFDFD::Inference");
|
||||
if (!lock.owns_lock()) return {};
|
||||
|
||||
if (!_licenseValid) {
|
||||
_logger.LogError("ANSSCRFDFD::Inference", "Invalid license", __FILE__, __LINE__);
|
||||
@@ -411,7 +413,9 @@ namespace ANSCENTER {
|
||||
|
||||
|
||||
std::vector<Object> ANSSCRFDFD::InferenceDynamic(const cv::Mat& input, const std::string& camera_id) {
|
||||
std::lock_guard<std::recursive_mutex> lock(_mutex);
|
||||
if (_modelLoading.load()) return {};
|
||||
auto lock = TryLockWithTimeout("ANSSCRFDFD::InferenceDynamic");
|
||||
if (!lock.owns_lock()) return {};
|
||||
std::vector<Object> output;
|
||||
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user