shithub: furgit

ref: d314d1f7e933ca83081eec289aa0cb6e75a7eeac
dir: /objectstore/packed/idx_close.go/

View raw version
package packed

import "syscall"

// close unmaps and closes one idx handle.
func (index *idxFile) close() error {
	var closeErr error

	if index.data != nil {
		err := syscall.Munmap(index.data)
		if err != nil && closeErr == nil {
			closeErr = err
		}

		index.data = nil
	}

	if index.file != nil {
		err := index.file.Close()
		if err != nil && closeErr == nil {
			closeErr = err
		}

		index.file = nil
	}

	return closeErr
}