aboutsummaryrefslogtreecommitdiff
path: root/boltsync_unix.go
diff options
context:
space:
mode:
authorJosh Rickmar <jrick@conformal.com>2014-09-18 15:15:52 -0500
committerDave Collins <davec@conformal.com>2014-09-18 18:14:50 -0500
commita2cbaa05f9720b15eb1eee7a05893ab992c289b5 (patch)
treea69b6978e0c1231f5f051aabe6d16c7e9744c2c6 /boltsync_unix.go
parentRework build to support more liberal unix variants. (diff)
downloaddedo-a2cbaa05f9720b15eb1eee7a05893ab992c289b5.tar.gz
dedo-a2cbaa05f9720b15eb1eee7a05893ab992c289b5.tar.xz
Fix bolt on OpenBSD.
OpenBSD does not include a UBC kernel and writes must be synchronized with the msync(2) syscall. In addition, the NoSync field of the DB struct should be ignored on OpenBSD, since unlike other platforms, missing msyncs will result in data corruption. Depends on PR #258. Fixes #257.
Diffstat (limited to 'boltsync_unix.go')
-rw-r--r--boltsync_unix.go10
1 files changed, 3 insertions, 7 deletions
diff --git a/boltsync_unix.go b/boltsync_unix.go
index 3c54dd5..8db8977 100644
--- a/boltsync_unix.go
+++ b/boltsync_unix.go
@@ -1,14 +1,10 @@
-// +build !windows,!plan9,!linux
+// +build !windows,!plan9,!linux,!openbsd
package bolt
-import (
- "os"
-)
-
var odirect int
// fdatasync flushes written data to a file descriptor.
-func fdatasync(f *os.File) error {
- return f.Sync()
+func fdatasync(db *DB) error {
+ return db.file.Sync()
}