| | |
| | | // ReleaseQueue detach an exist shm queue |
| | | func (eqi *EsQueueInfo) ReleaseQueue() { |
| | | fmt.Printf("ReleaseQueue: key=%x\n", eqi.ShmKey) |
| | | DestroyShm(eqi.ShmData) |
| | | DetachShm(eqi.ShmData) |
| | | } |
| | | |
| | | // RemoveShmId remove an exist shm queue (ipcrm -m shmid) |
| | |
| | | return data, id |
| | | } |
| | | |
| | | // DestroyShm destroy |
| | | func DestroyShm(data []byte) { |
| | | // DetachShm destroy |
| | | func DetachShm(data []byte) { |
| | | ReleaseBlock(data) |
| | | } |
| | | |
| | |
| | | return shm.Dt(d) |
| | | } |
| | | |
| | | // ReleaseShmID release shmid |
| | | func ReleaseShmID(id int) error { |
| | | // RemoveShmID Remove shmid |
| | | func RemoveShmID(id int) error { |
| | | return shm.Rm(id) |
| | | } |