1package bbolt
2
3import (
4	"syscall"
5	"unsafe"
6)
7
8const (
9	msAsync      = 1 << iota // perform asynchronous writes
10	msSync                   // perform synchronous writes
11	msInvalidate             // invalidate cached data
12)
13
14func msync(db *DB) error {
15	_, _, errno := syscall.Syscall(syscall.SYS_MSYNC, uintptr(unsafe.Pointer(db.data)), uintptr(db.datasz), msInvalidate)
16	if errno != 0 {
17		return errno
18	}
19	return nil
20}
21
22func fdatasync(db *DB) error {
23	if db.data != nil {
24		return msync(db)
25	}
26	return db.file.Sync()
27}
28