Joe Orton
Fri, 23 May 2008 12:47:01 -0700
On Fri, May 23, 2008 at 11:50:35AM -0500, William Rowe wrote: > Joe Orton wrote: >>> Then do we all decide that there is a global pool and an API to obtain it? >>> I know how to do this, but I'm just asking if that's how to go. >> >> I'm not sure what you're asking here. Starting in 1.3.x there can be >> multiple global pools each under control of separate consumers. > > There's only one global pool in the context of apr_[app_]initialize. > That global initialization is refcounted. Ah right, you mean adding an API to expose that. Yeah, makes sense I suppose, but this is kind of piling on more and more layers of workarounds. An alternative maybe is to just create another unparented global pool here using the new 1.3 pool_core_create_ex API. More review: 1) the DSO-loading stuff is not thread-safe (dsos global not mutex-protected) yet apr_ldap_init would/could/should be; it's not documented to explicitly *not* be thread-safe, anyway. 2) on the DSO-failed-to-load error paths it looks like *result_err should be set but won't be. joe