aboutsummaryrefslogtreecommitdiff
path: root/db.go
diff options
context:
space:
mode:
Diffstat (limited to 'db.go')
-rw-r--r--db.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/db.go b/db.go
index c415c1b..f5ca05e 100644
--- a/db.go
+++ b/db.go
@@ -351,8 +351,15 @@ func (db *DB) init() error {
// Close releases all database resources.
// All transactions must be closed before closing the database.
func (db *DB) Close() error {
+ db.rwlock.Lock()
+ defer db.rwlock.Unlock()
+
db.metalock.Lock()
defer db.metalock.Unlock()
+
+ db.mmaplock.RLock()
+ defer db.mmaplock.RUnlock()
+
return db.close()
}