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 }