From 07b76017e8d7a11f588163a1097e2131d7c9ee45 Mon Sep 17 00:00:00 2001 From: chenshijun <csj_sky@126.com> Date: 星期二, 31 三月 2020 14:21:34 +0800 Subject: [PATCH] 添加查询连接个数和强制删除共享内存的接口 --- shmwrap.go | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+), 0 deletions(-) diff --git a/shmwrap.go b/shmwrap.go index 2f48b70..7975d61 100644 --- a/shmwrap.go +++ b/shmwrap.go @@ -167,3 +167,27 @@ return shm.Rm(id) } } + +func ShmAttachNum(shmId int) (int,error) { + var idDs shm.IdDs + + _, err := shm.Ctl(shmId, shm.IPC_STAT, &idDs) + if err != nil { + return 0, err + } + + return int(idDs.Nattch), nil +} + +func ForceRemoveShm(data []byte, shmId int) error { + count, err := ShmAttachNum(shmId) + if err != nil{ + return err + }else{ + for i:=0; i < count; i++{ + Detach(data) + } + } + RemoveShmID(shmId) + return nil +} -- Gitblit v1.8.0