httpd-cvs mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject cvs commit: apache-1.3/src/main http_main.c
Date Sat, 09 May 1998 04:36:40 GMT
coar        98/05/08 21:36:40

  Modified:    src/main http_main.c
  	Untangle the last patch..  ap_add_version_component() needs to
  	*prepend* the strings it's fed, not append them.  This is because
  	the last thing that calls it before the string is locked is
  	ap_set_version() (as in set-like-cement), which adds the
  	SERVER_BASEVERSION, the platform (conditionally), and the
  	SERVER_SUBVERSION (if defined) at a known location - the front
  	of the string.
  	This has the drawback that module contributions will be listed
  	in reverse order from their 'importance' (which is, in turn,
  	in reverse order from their appearance in the Configuration
  	file ;-).  However, only modules with major effects should be
  	contributing to the string anyway, so we can consider them
  	equal.  Can't we?
  	The alternative is to either allow ap_set_version() to directly
  	modify the string rather than going through ap_add...(), or else
  	to add another routine that appends rather than prepends.  I
  	don't like either of these because of the issues with semantics
  	synchronisation and code duplication.
  	The last patch confused things, though, so I'm just returning the
  	behaviour to the original design - if someone wants to take
  	extra steps to have module contributions listed in the same
  	order as they're called, have a party.
  	This should fix Rasmus' problem with the components being out
  	of order, although it doesn't touch his issue with the init
  	callback duplicating the SERVER_SUBVERSION effort.
  Revision  Changes    Path
  1.342     +6 -6      apache-1.3/src/main/http_main.c
  Index: http_main.c
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.341
  retrieving revision 1.342
  diff -u -r1.341 -r1.342
  --- http_main.c	1998/05/09 03:25:43	1.341
  +++ http_main.c	1998/05/09 04:36:38	1.342
  @@ -371,15 +371,15 @@
           if (server_version == NULL) {
   	    ap_register_cleanup(pconf, NULL, (void (*)(void *))reset_version, 
  -				(void (*)(void *))ap_null_cleanup);
  +				ap_null_cleanup);
   	    server_version = ap_pstrdup(pconf, component);
   	else {
   	     * Prepend the given component identifier to the existing string
  -	    server_version = ap_pstrcat(pconf, server_version, " ", component,
  -				    NULL);
  +	    server_version = ap_pstrcat(pconf, component, " ", server_version,
  +					NULL);
  @@ -390,15 +390,15 @@
   static void ap_set_version()
  +    ap_add_version_component(SERVER_SUBVERSION);
       if (ap_note_platform) {
           ap_add_version_component(SERVER_BASEVERSION " (" PLATFORM ")");
       else {
  -    ap_add_version_component(SERVER_SUBVERSION);

View raw message