From 0fd19aa1c8a2bf543099d6b1077ff19078f9074e Mon Sep 17 00:00:00 2001
From: wangzhengquan <wangzhengquan85@126.com>
Date: 星期四, 24 十二月 2020 11:35:12 +0800
Subject: [PATCH] Merge branch 'dev'
---
src/queue/mm.c | 16 +++++++++++-----
1 files changed, 11 insertions(+), 5 deletions(-)
diff --git a/src/queue/mm.c b/src/queue/mm.c
index 979cced..d7cc375 100644
--- a/src/queue/mm.c
+++ b/src/queue/mm.c
@@ -310,7 +310,14 @@
if(shmctl(shmid, IPC_STAT, &shmid_ds) == 0) {
//LoggerFactory::getLogger()->debug("shm_nattch=%d\n", shmid_ds.shm_nattch);
// 鍙湁褰撳墠涓�涓繘绋媋ttach鍒板叡浜唴瀛樹笂
- if(shmid_ds.shm_nattch == 1) {
+ if (shmid_ds.shm_nattch > 1) {
+ //detache
+ if (shmdt(shmp) == -1) {
+ LoggerFactory::getLogger()->error(errno, "mm_destroy shmdt");
+ }
+ SemUtil::inc(mutex);
+ return false;
+ } else {
hashtable_destroy(hashtable);
//detache
@@ -326,14 +333,13 @@
else
LoggerFactory::getLogger()->debug("shared memory destroy\n");
+ LoggerFactory::getLogger()->debug( "mm_destroy: real destroy.");
+
SemUtil::inc(mutex);
SemUtil::remove(mutex);
return true;
- } else {
- SemUtil::inc(mutex);
- return false;
- }
+ }
} else {
err_msg(errno, "mm_destroy shmctl IPC_STAT");
--
Gitblit v1.8.0