shithub: furgit

ref: a902f6849d938a51fa34dc292f5c81d26c4b6c36
dir: /object/store/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
}