From 55337c3876fa54863463ab7c30a7ed0fcb3c88e5 Mon Sep 17 00:00:00 2001
From: chenshijun <chenshijun@aiotlink.com>
Date: 星期四, 21 三月 2019 14:43:15 +0800
Subject: [PATCH] facesearchserver出现段错误,map的operater[],疑似该处,加些调试信息。

---
 QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp |    5 +++++
 QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp      |    3 +--
 QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h   |    1 +
 3 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
index 4210f31..1c7ca29 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
+++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.cpp
@@ -54,10 +54,13 @@
 
 //#todo map 1->2 modify 2->1
 bool FaceDBCompareServer::compare(thread::id key, AlarmData *alarmData, int topN) {
+    m_dbRWLocks_Lock.wrlock();
     if (m_dbRWLocks.find(key) == m_dbRWLocks.end()) {
         m_dbRWLocks[key] = RWLock();
     }
     RWLock &t_rwl = m_dbRWLocks[key];
+    DBG("m_dbRWLocks ok");
+    m_dbRWLocks_Lock.unlock();
 //    ClockTimer clockTimer("compare ");
     RWLock t_rwLock;
 
@@ -116,7 +119,9 @@
     int maxSearchFaces = alarmData->num;
 
     t_rwl.wrlock();
+    DBG("topResult[key] before");
     auto &t_topResult = topResult[key];
+    DBG("topResult[key] ok");
     t_topResult.clear();
     for (auto &item : t_compareResults) {
         auto &it = item.second;
diff --git a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
index da4bb96..0667bbf 100644
--- a/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
+++ b/QiaoJiaSystem/FaceSearchServer/FaceDBCompareServer.h
@@ -44,6 +44,7 @@
     RWLock m_rwLock;
     std::mutex topResultMtx;
     std::map<std::thread::id, FaceResults> topResult;
+    RWLock m_dbRWLocks_Lock;
     std::map<std::thread::id, RWLock> m_dbRWLocks;
 
     ErlangTool::ErlangDbTool *m_erlangDbTool;
diff --git a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
index 60c32ed..db69b5f 100644
--- a/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
+++ b/QiaoJiaSystem/YoloServer/YoloDetectClientTest.cpp
@@ -75,8 +75,7 @@
     appPref.setIntData("yolo.port", 10003);
 //    rpcClient(appPref.getStringData("yolo.proxy"), appPref.getStringData("yolo.ip"), appPref.getLongData("yolo.port"),"tcp"),
 
-    Controllor *_Controllor = new Controllor(1,
-                                             "/home/pans/work/qiaojia/cut/44120000001325000005/201903/06/2019030617/44120000001325000005$2019-03-06-17-51-53_4747_4946.mp4");
+    Controllor *_Controllor = new Controllor(1, "/home/basic/geth264.h264");
     _Controllor->start();
 
     getchar();

--
Gitblit v1.8.0