httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Thomas Eibner <tho...@stderr.net>
Subject Re: Tag 1.3.23?
Date Fri, 18 Jan 2002 20:53:17 GMT
On Fri, Jan 18, 2002 at 12:53:33PM -0500, Bill Stoddard wrote:
> >
> > > I think we concluded that e would rather not break binary compatability on
Windows or
> any
> > > 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.

As I understood most of it, this patch I provided also fixed that some of
the functions weren't even being exported correctly. I had to use the
ap_update_vhost_from_headers in one of my modules and Gunter Knauf was
nice to report that if the function was exported correctly my module would
also work on Win32 and Netware platforms. I submitted an initial patch and
was asked to fix all the non-correctly exported functions. I did and Wrove
fixed the incorrect exports that have been in the tree since it was made.
If you want the fix pulled out I'd suggest that you don't make the functions
available at all from src/support/httpd.exp since it has never correctly
been exported, which I consider a reasonable bug. 

So basically you're told that there's a set of api functions, but if you
use some that we didn't even export, you're out of luck. 

my $cent = 2;

-- 
  Thomas Eibner <http://thomas.eibner.dk/> DnsZone <http://dnszone.org/>
  mod_pointer <http://stderr.net/mod_pointer> 


Mime
View raw message