httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "William A. Rowe, Jr." <wr...@rowe-clan.net>
Subject RE: module declaration inconsistencies
Date Thu, 18 Jan 2001 22:49:08 GMT
> From: Tony Finch [mailto:dot@dotat.at]
> Sent: Thursday, January 18, 2001 4:13 PM
> 
> rbb@covalent.net wrote:
> >
> >Where is the problem here?  The change in 2.0 was done to make things
> >easier and correct for Windows.
> 
> The problem is that not all modules are declared with the magic runes.
> 
> module db_auth_module;
> module DAV_DECLARE_DATA dav_module =
> module MODULE_VAR_EXPORT cache_module;
> module case_filter_module;
> module charset_lite_module;
> module MODULE_VAR_EXPORT disk_cache_module;
> module example_module;
> module ext_filter_module;
> module includes_module;
> module MODULE_VAR_EXPORT suexec_module;
> module action_module;
> module userdir_module;
> module mime_magic_module;
> module rndchunk_module = {
> module test_util_uri_module = {
> module isapi_module;
> AP_DECLARE_DATA module core_module = {

Almost every one of these is correct.

It is pointless (unless you see some reason I do not) to
export a load point for a module linked into the libhttpd.dll
core.  The DAV exception is also quite correct, since DAV
had to grow it's own export dynamics since it is -imported-
by DAV modules (such as dav_fs, dav_syn etc.)

And the MODULE_VAR_EXPORT (prefixed by AP_, which I will add)
is a universal export-always tag, that doesn't care if you
trip flags.

But tagging the imported modules as AP_DECLARE_DATA would be
very bad, since that would tell the compiler (which is linking
-into- libhttpd.dll) that all those are imports, not exports.
And you cannot define an 'imported' symbol (or why the heck
would you be importing it, anyways.)

I'll have a fix later tonight, I'm going through APU_ symbols
right now so I should be caught up to httpd by about 9pm.

Bill


Mime
View raw message