chenshijun
2020-03-31 07b76017e8d7a11f588163a1097e2131d7c9ee45
添加查询连接个数和强制删除共享内存的接口
2个文件已修改
30 ■■■■■ 已修改文件
README.md 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
shmwrap.go 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
README.md
@@ -2,4 +2,8 @@
system v shm lock-free queue
多读多写,多协程,多shmkey均测试通过
shmwrap.go systemV 共享内存库的封装
shmqueue.go 共享内存无锁队列库,多读多写,多协程,多shmkey均测试通过
shmData.go  共享内存[]byte的库, shmid对应的共享内存只attach,不create
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
}