chenshijun
2020-03-31 07b76017e8d7a11f588163a1097e2131d7c9ee45
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
}