[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Weirdness while testing 1.4.0-rc2 (svnserve processes that don't die)

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2006-07-18 02:44:06 CEST

On 7/17/06, Branko ╚ibej <brane@xbc.nu> wrote:

> Oh bother. I must have been smoking something really weird to not notice
> the this would obviously happen.

Don't feel so bad, I should have seen it to...

> Back to the salt mines it is, then ... I think that commit was quite the
> wrong solution, I'll have to come up with something better. Sheeh, but
> pools really are a total lossage in the presence of global caches.

Here's a fix that appears to work. It makes it so that we NULL out
the lock when we clear its pool, and then only try and lock it if it's
non-NULL. This fixes the weird issues Mike was seeing, and should fix
the valgrind problems, although I haven't actually confirmed that.

-garrett

[[[
Fix another global pool destruction ordering problem in the bdb code.

Previously, we potentially tried to use the bdb cache mutex after its
pool had already been cleared.

* subversion/libsvn_fs_base/bdb/env.c
  (clear_cache_lock): New cleanup function, NULLs out the bdb cache lock.
  (svn_fs_bdb__init): Set pool cleanup on the bdb cache pool.
  (acquire_cache_mutex, release_cache_mutex): Don't do anything to the
   lock if it's NULL.
]]]

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Received on Tue Jul 18 02:46:46 2006

This is an archived mail posted to the Subversion Dev mailing list.