shithub: furgit

ref: fb9eb058f1c9b7cb26f33bbe679a85f530566641
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
}