Alexei Kosut wrote:
>
> On Sat, 4 Jan 1997, Dean Gaudet wrote:
>
> > But it does require everything to be recompiled... one thing I mentioned a
> > while back is that if the module structure included a size field then it
> > would be possible to keep binary compatibility while increasing the number
> > of callbacks. During initialization when the module list is collected
> > just allocate new structures of the appropriate current size with NULL
> > vectors for whatever was missing.
>
> However, everything needs to be recomiled anyway. Although pretty
> much, a module written for 0.8.0 is source-compatible (though not if
> it used POST/PUT) with 1.2, it sure as heck isn't
> binary compatible. In fact, it won't even load (you'll get a "module
> 'mod_whatever,c' is not compatible with this version of Apache"
> notice).
>
> Backwards and forwards binary compatibility is something I was
> planning for 2.0.
>
> Actually, in terms of the module structure itself, I'd like to see the
> current system replaced with something someone (I think it was Randy)
> proposed a year or so ago. Which is instead of having a structure that
> the module writer has to manually fill in with all the slots, instead
> just have a single "module setup" function that's called when the
> module is first loaded, and which calls other functions which add API
> hooks. Something like:
>
> void setup_example_module (void) {
> add_translate_function(translate_example);
> add_command_record(&example_cmds);
> add_logger_function(log_example_transaction);
> }
>
> and so forth. Seems vaugly like a good idea. *shrug*
I really hate to mention this (NOT!), but this exactly what C++ does for you,
only considerably more elegantly.
Cheers,
Ben.
--
Ben Laurie Phone: +44 (181) 994 6435 Email: ben@algroup.co.uk
Freelance Consultant and Fax: +44 (181) 994 6472
Technical Director URL: http://www.algroup.co.uk/Apache-SSL
A.L. Digital Ltd, Apache Group member (http://www.apache.org)
London, England. Apache-SSL author
|