in plugins/queue/mmap/queue.go [196:214]
func (q *Queue) Close() error {
q.ready = false
q.cancel()
q.showDownWg.Wait()
for i, segment := range q.segments {
if segment != nil {
if err := segment.Flush(syscall.MS_SYNC); err != nil {
log.Logger.Errorf("cannot unmap the segments: %d, %v", i, err)
}
if err := segment.Unmap(); err != nil {
log.Logger.Errorf("cannot unmap the segments: %d, %v", i, err)
}
}
}
if err := q.meta.Close(); err != nil {
log.Logger.Errorf("cannot unmap the metadata: %v", err)
}
return nil
}