diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2015-05-21 09:02:35 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2015-05-21 09:02:35 -0600 |
commit | c69cb102ce8f7609b57f75d0ccb10862167001e7 (patch) | |
tree | 48f4fe99a2c0c68768fcb329842b4b1e95f84347 /db.go | |
parent | Merge pull request #376 from ryanuber/readme-consul (diff) | |
parent | Wait for pending tx on close. (diff) | |
download | dedo-c69cb102ce8f7609b57f75d0ccb10862167001e7.tar.gz dedo-c69cb102ce8f7609b57f75d0ccb10862167001e7.tar.xz |
Merge pull request #377 from benbjohnson/close-race
Wait for pending transactions on close
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 7 |
1 files changed, 7 insertions, 0 deletions
@@ -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() } |