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