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

Re: Another 1.4 release critical bug

From: Garrett Rooney <rooneg_at_electricjellyfish.net>
Date: 2006-08-04 23:13:36 CEST

On 8/3/06, Garrett Rooney <rooneg@electricjellyfish.net> wrote:

> All right, I dislike this solution, but I've run out of other ideas.
> Here's a patch that adds yet another kinda-sorta-optional
> initialization function that handles the global dso pool creation. To
> be entirely correct it must be run before any pool is created that
> will be used to allocate anything from within a DSO loaded library.
> I've included changes to svn_cmdline_init and mod_dav_svn to get this
> called at the appropriate time in each. If you don't call it then the
> DSO stuff will initialize itself on demand, but it's not certain to
> work correctly in the face of --enable-dso.
> This patch also rolls back the previous "fix" to the problem, as most
> of it is no longer needed.
> Any comments are much appreciated.

Here's an updated version of the patch that fixes a few small bugs and
updates it to work with what's in trunk now. I remain convinced that
this is the way we're going to have to go, all alternate solutions
seem to fall down under some pool creation/destruction ordering
situations and I don't think there's a 100% solution to the problem
other than making changes in APR itself.


Add an initialization function for a global DSO pool and a function to
use it when loading DSOs. Assuming the initialization function is called
sufficiently early this fixes --enable-dso, really this time.

* subversion/libsvn_ra/ra_loader.c
  Include svn_dso.h.
  (load_ra_module): Use the new svn_dso_load function.

* subversion/include/svn_dso.h: New file.

* subversion/libsvn_fs/fs-loader.c
  Include svn_dso.h.
  (load_module): Use svn_dso_load.

* subversion/libsvn_subr/cmdline.c
  Include svn_dso.h.
  (svn_cmdline_init): Call svn_dso_initialize.

* subversion/libsvn_subr/dso.c: New file.

* subversion/mod_dav_snv/mod_dav_svn.c
  Include svn_dso.h.
  (init_dso): New function.
  (register_hooks): Set up init_dso hook.

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

Received on Fri Aug 4 23:14:50 2006

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

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.