I'm with Ryan. We don't need to write a cover for the underlying DSO close. If you use APR's DSO stuff, then you can use its closing system.
Go patch Perl to add a cover for dlclose() since that is where you got the handle. I'd be fine with apr_dso_make(void *handle). [ back to the put vs make discussion ] And piffle with the extra memory or speed with wrapping an apr_dso structure around the handle [just to close it]. You're loading/unloading DSOs for chrissakes. Perf just doesn't come into the picture. And I'm sure you've got a pool that the apr_dso can go into, which is just about to get tossed after you're done unloading DSOs. -1 on apr_dso_handle_close. +0 on apr_dso_make. -0 on apr_dso_put. Cheers, -g On Mon, Apr 09, 2001 at 08:54:45PM -0700, [EMAIL PROTECTED] wrote: > > The problem is that the code you want to implement is incompatible with > APR's dso code. In order to use the function that you want, you would > need to start by using the system's dlopen. If you are going to use the > systems dlopen, then you should use the systems dlclose. > > What we really need, I guess, is apr_dso_put and apr_dso_get. That would > follow the model that we currently have, instead of creating another > function that would take the system type directly. > > Ryan > > On Mon, 9 Apr 2001, Doug MacEachern wrote: > > > On Mon, 9 Apr 2001 [EMAIL PROTECTED] wrote: > > > > > > > > How is this different from apr_dso_unload? > > > > apr_dso_unload() takes an apr_dso_handle_t argument, so i would have todo > > something ugly like: > > > > apr_dso_handle_t dso; > > dso.handle = (void*)handle_from_perl; > > dso.cont = p; > > apr_dso_unload(&dso); > > > > which i couldn't do if i wanted to, since apr_dso_handle_t is an > > incomplete type. > > > > > > > > > _______________________________________________________________________________ > Ryan Bloom [EMAIL PROTECTED] > 406 29th St. > San Francisco, CA 94131 > ------------------------------------------------------------------------------- -- Greg Stein, http://www.lyra.org/