diff options
author | Ben Johnson <benbjohnson@yahoo.com> | 2015-05-21 09:53:52 -0600 |
---|---|---|
committer | Ben Johnson <benbjohnson@yahoo.com> | 2015-05-21 09:53:52 -0600 |
commit | afceb316b96ea97cbac6d23afbdf69543d80748a (patch) | |
tree | 131831c69b1490356cb829c60829392410c860a1 /db.go | |
parent | Merge pull request #377 from benbjohnson/close-race (diff) | |
parent | Add docs for dependent transactions. (diff) | |
download | dedo-afceb316b96ea97cbac6d23afbdf69543d80748a.tar.gz dedo-afceb316b96ea97cbac6d23afbdf69543d80748a.tar.xz |
Merge pull request #379 from benbjohnson/tx-doc
Add docs for dependent transactions.
Diffstat (limited to 'db.go')
-rw-r--r-- | db.go | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -401,6 +401,11 @@ func (db *DB) close() error { // will cause the calls to block and be serialized until the current write // transaction finishes. // +// Transactions should not be depedent on one another. Opening a read +// transaction and a write transaction in the same goroutine can cause the +// writer to deadlock because the database periodically needs to re-mmap itself +// as it grows and it cannot do that while a read transaction is open. +// // IMPORTANT: You must close read-only transactions after you are finished or // else the database will not reclaim old pages. func (db *DB) Begin(writable bool) (*Tx, error) { |