httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Greg Stein <>
Subject Re: building on Unix this a.m.
Date Sat, 27 May 2000 21:24:37 GMT
On Fri, 26 May 2000 wrote:
> The fact is, there are only two options right now for where to get the dso
> error string from, errno and dlerror.

Incorrect. The "dl" library is only one mechanism for loading DSOs. Python
has TEN mechanisms: AIX, BeOS, DL, HP/UX, Mac, NeXT, OS/2, SHLIB, and
Win32. Each has their own loading and error reporting mechanisms.

> errno is already taken care of, and
> dlerror make sense where it is if it is the only other option.
> Now, if/when Windows implements a dso feature,

What?! It already HAS a DSO feature. Go look at src/lib/apr/dso/win32/

> we can/should re-visit
> this.  The real solution IMNSHO, is to use a feature macro for APR
> here.  Basically allow DSO to be turned on/off from the configure
> line.  This way, when there is no DSO handling in Apache, this error
> message changes.  If there is DSO handling, we grab it from dlerror the
> same way we are doing now.

I don't think this is the right answer. I'm not sure how it can work,
given the disparate ways to load a DSO.

> The other fact is that this code was broken on Windows because that
> feature macro doesn't exist, and this error isn't used on Windows.  The

Has nothing to do with feature macros. Assuming DL in the first place is

> build on Unix is broken because we aren't using the right libraries, which
> goes back to a configuration issue.

Yup. But DL is not the "right library" in many cases.

Again: I believe the proper way to do this, is to ask the dso/ directory
for how to resolve errors from DSO loading.


> Ryan
> > Fine, but using dlerror() in the first place was Just Plain Wrong (tm). I
> > had to suggest something :-)
> > 
> > The other alternative is to have #ifdef's to replace the dlerror() call.
> > IMO, that would be even more wrong since you're splitting up DSO handling
> > between errorcodes.c and the dso/ directory.
> > 
> > Whatever your solution, recognize that you've got two groups of code:
> > 
> > 1) error string construction
> > 2) DSO loading
> > 
> > Given that you are trying to insert DSO-specific stuff into (1), then you
> > have a problem if you try to keep (1) and (2) from talking with each
> > other. [my suggestion has (1) calling over to the (2) group]
> > 
> > Cheers,
> > -g
> > 
> > -- 
> > Greg Stein,
> > 
> _______________________________________________________________________________
> Ryan Bloom               
> 406 29th St.
> San Francisco, CA 94131
> -------------------------------------------------------------------------------

Greg Stein,

View raw message