h.b.furuseth@usit.uio.no wrote:
Full_Name: Hallvard B Furuseth Version: HEAD, 2.3, 2.4 OS: URL: Submission from: (NULL) (129.240.6.233) Submitted by: hallvard
back-bdb/add.c has several code paths where the parent entry "p" is not released - it does "goto return_results;" without first doing
if ( p&& p !=&slap_entry_root ) bdb_unlocked_cache_return_entry_r(&bdb->bi_cache, p ); p = NULL;
Releasing entries is somewhat irrelevant, since all locks are released when the transaction commits. Note that this function is a no-op in proto-bdb.h. All of those statements are just relics from the first entry cache design, before we switched to using BDB locks for everything.
Probably could stand to do some cleanup. The diffs would be quite drastic though. Again, this may be something that's best deferred until 2.3 is dropped.