From e5718922616d3a948d4fa616ad3d0af53f5c5556 Mon Sep 17 00:00:00 2001
From: lichao <lichao@aiotlink.com>
Date: 星期四, 01 四月 2021 14:07:37 +0800
Subject: [PATCH] add todo, need gc.

---
 src/shm_queue.cpp |    9 ++++++++-
 1 files changed, 8 insertions(+), 1 deletions(-)

diff --git a/src/shm_queue.cpp b/src/shm_queue.cpp
index f2fb45b..de38229 100644
--- a/src/shm_queue.cpp
+++ b/src/shm_queue.cpp
@@ -21,6 +21,11 @@
 #include <boost/uuid/uuid_generators.hpp>
 #include <boost/uuid/uuid_io.hpp>
 
+// TODO !!! add garbage collection, and handshake with gc-center.
+// smart pointer will NOT work if user crash.
+// problem of process release mq: client query success; server exits; client send.
+//  client query success; server exits; client send.
+
 namespace bhome_shm
 {
 using namespace bhome_msg;
@@ -61,7 +66,9 @@
 
 ShmMsgQueue::~ShmMsgQueue()
 {
-	Remove();
+	// It's not safe to remove, others may still holder pointers and write to it.
+	// TODO use smart_ptr or garbage collection.
+	//Remove();
 }
 
 bool ShmMsgQueue::Send(SharedMemory &shm, const MQId &remote_id, const MsgI &msg, const int timeout_ms, OnSend const &onsend)

--
Gitblit v1.8.0