From 1c080b5ca821ef6e1d40025289195b18fa2973b5 Mon Sep 17 00:00:00 2001 From: chenluhua1980 <Chenluhua@qq.com> Date: 星期一, 26 一月 2026 22:46:48 +0800 Subject: [PATCH] 1.把 m_bufGlass 的释放提前到 CMaster::term(),确保在 m_glassPool.term() 之前完成,避免析构时再触碰已被回收的 Glass。析构里仍保留原逻辑,若 term() 已清空则不会重复释放。 --- SourceCode/Bond/Servo/CJobDataB.h | 5 ++++- 1 files changed, 4 insertions(+), 1 deletions(-) diff --git a/SourceCode/Bond/Servo/CJobDataB.h b/SourceCode/Bond/Servo/CJobDataB.h index 34945c5..b609376 100644 --- a/SourceCode/Bond/Servo/CJobDataB.h +++ b/SourceCode/Bond/Servo/CJobDataB.h @@ -8,9 +8,11 @@ public: CJobDataB(); CJobDataB::CJobDataB(CJobDataB&& other) noexcept; - ~CJobDataB(); + virtual ~CJobDataB(); public: + void* getOwner(); + void setOwner(void* pOwner); void copy(CJobDataB* pScr); int getCassetteSequenceNo(); void setCassetteSequenceNo(int no); @@ -22,6 +24,7 @@ int unserialize(const char* pszBuffer, int nBufferSize); private: + void* m_pOwner; int m_nCassetteSequenceNo; int m_nJobSequenceNo; std::string m_strGlassId; -- Gitblit v1.9.3