httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bill Stoddard" <>
Subject Re: Tag 1.3.23?
Date Fri, 18 Jan 2002 17:53:33 GMT
> > I think we concluded that e would rather not break binary compatability on Windows
> > other platform. So the part of the patch commited on 12/28/01 12:03 AM that breaks
> > compatability needs to be removed or reworked.
> No, the original code was, simply, broken.  We must find a way to break
> compatibility for modules using _those_few_functions_, alone.  They are;
> ap_snprintf
> ap_table_do
> ap_bvputs
> ap_rprintf
> ap_log_error
> ap_log_rerror
> ap_log_printf
> My suggestion is that with seven broken declarations now fixed on Win32, we
> export with a leading underscore (exactly as they would normally get, if there
> were no .def file at all), and their ordinals changed.  This will assure
> compatibility of _only_ those seven functions is toggled, without general and
> massive breakage across the board.  I am very uncomfortable with (...) args
> using pascal conventions, and really do not trust these not to introduce some
> odd segfaults as things stand in Win32 land.

We have been successfully running with the 'broken' code from the beginning of Apache 1.3.
And I have -never- seen a problem reported because of the way these functions are
exported. I would conclude that the code is in fact not broken. Overwhelming empirical
evidence supports that conclusion.

If we break binary compatability with even one function, we need to bump the MMN major.
Most modules use at least one of the functions listed above for which binary compatability
is broken, so this change effectively breaks Win32 module binary compatability. And it is
completely unreasonable to tell people "your module will continue to work if it doesn't
use func's x,y or z.".  Requiring the Apache user community and folks that develop 3rd
party modules to track these 'one-off' breakages in module binary compatability is not the
right solution. We either need to say modules must be recompiled for Apache 1.3.23 or not.
No conditional logic allowed :-)


View raw message