chenshijun
2020-03-31 479ca59a7ed071c0434ab33d835ad482bb7087e9
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
}