...
1
2
3
4 package bbolt
5
6 import "golang.org/x/sys/unix"
7
8
9 func mlock(db *DB, fileSize int) error {
10 sizeToLock := fileSize
11 if sizeToLock > db.datasz {
12
13 sizeToLock = db.datasz
14 }
15 if err := unix.Mlock(db.dataref[:sizeToLock]); err != nil {
16 return err
17 }
18 return nil
19 }
20
21
22 func munlock(db *DB, fileSize int) error {
23 if db.dataref == nil {
24 return nil
25 }
26
27 sizeToUnlock := fileSize
28 if sizeToUnlock > db.datasz {
29
30 sizeToUnlock = db.datasz
31 }
32
33 if err := unix.Munlock(db.dataref[:sizeToUnlock]); err != nil {
34 return err
35 }
36 return nil
37 }
38
View as plain text