aboutsummaryrefslogtreecommitdiff
path: root/object/storer/packed/idx_close.go
blob: 814ec98780a4ccf36bc3a33b4f4dce5f995c7050 (about) (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
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
}