From ad716fb9f1e8ae5cde818be423ca47225a4ff4ec Mon Sep 17 00:00:00 2001
From: pansen <pansen626@sina.com>
Date: 星期四, 11 四月 2019 11:16:29 +0800
Subject: [PATCH] VptServer多线程支持
---
QiaoJiaSystem/VptServer/VptServerI.cpp | 14 +++++++++++++-
1 files changed, 13 insertions(+), 1 deletions(-)
diff --git a/QiaoJiaSystem/VptServer/VptServerI.cpp b/QiaoJiaSystem/VptServer/VptServerI.cpp
index c8b3361..e08fa75 100644
--- a/QiaoJiaSystem/VptServer/VptServerI.cpp
+++ b/QiaoJiaSystem/VptServer/VptServerI.cpp
@@ -9,13 +9,25 @@
VptServerI::VptServerI() {}
VptServerI::~VptServerI() {
-
+ for (auto item_ptr : m_map_vptDetectWrapper) {
+ if (item_ptr.second != nullptr) {
+ delete item_ptr.second;
+ item_ptr.second = nullptr;
+ }
+ m_map_vptDetectWrapper.erase(item_ptr.first);
+ }
}
VptDetect::ObjInfos
VptServerI::VptDetect(Ice::Int width, Ice::Int height, const ::std::string &shM,
const ::Ice::Current ¤t) {
+ thread::id key = std::this_thread::get_id();
+ if (m_map_vptDetectWrapper.find(key) == m_map_vptDetectWrapper.end()) {
+ m_map_vptDetectWrapper[key] = new VptDetectWrapper();
+ }
+ VptDetectWrapper &m_vptDetectWrapper = *m_map_vptDetectWrapper[key];
+
VptDetect::ObjInfos objInfos;
QSharedMemory shareMemory(QString(shM.c_str()));
if (shareMemory.attach()) {
--
Gitblit v1.8.0