[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: (ITS#7238) Multiple txns in same thread break mdb
- To: openldap-its@OpenLDAP.org
- Subject: Re: (ITS#7238) Multiple txns in same thread break mdb
- From: hyc@symas.com
- Date: Mon, 9 Apr 2012 09:34:25 GMT
- Auto-submitted: auto-generated (OpenLDAP-ITS)
h.b.furuseth@usit.uio.no wrote:
> Related doc bug:
>
> I expect it should be "only one thread at a time". I doubt
> it's about pinning some operation to a particular thread:-)
Wrong.
For write txns I suppose that could be relaxed. For readers, the reader slot
is set when the txn is created, and that slot is owned by a particular thread.
> However, maybe it should rather be something like "No other
> transaction doing mdb_open() may exist at the same time, nor
> a write transaction (since that also updates the databases),
> nor may such a transaction exist during mdb_close()" ?
>
> I note mdb_drop() also updates the databases and can
> likely not coexist with the others, but that's covered by
> mentioning write txns.
>
> Regarding mdb_drop(), while I'm at it:
> @brief Delete a database and/or free all its pages.
> @param[in] del non-zero to delete the DB from
> the environment, otherwise just free its pages.
> Free which pages? In the DB, or some malloced ones?
This is single-level-store, there is no distinction. In the DB or in memory,
all the same.
--
-- Howard Chu
CTO, Symas Corp. http://www.symas.com
Director, Highland Sun http://highlandsun.com/hyc/
Chief Architect, OpenLDAP http://www.openldap.org/project/