httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Trawick <>
Subject [PATCH] get ring macros working better/at all
Date Fri, 08 Sep 2000 18:51:46 GMT
Greg Ames and I worked out the following patch to get cgis and mmaps
to work on Linux again

I'm not 100% that the fix is appropriate for the full intended
generality of the affected macros, but it seems to get our current use
of the macros working correctly. 

I am led to believe that without any such change somebody can serve
pages on some platform.  Tony said it seemed to work in his commit.
It would be nice to understand how; maybe I don't understand what is
going on and thus the fix is completely invalid.  (A regression bucket
using pure CVS code running on Linux started failing immediately after
the big commit in the middle of the night and hasn't worked since, so
the breakage shouldn't be due to patches I may be running with.)

A quick note on the patch...

In the line that is replaced, (lep) is problematic because we want the
*original* value of (lep).  However, that field is often overwritten
by the previous line.  Luckly, the original value was stored a few
lines prior into AP_RING_PREV((ep1), link).

Index: include/ap_ring.h
RCS file: /cvs/apache/apache-2.0/src/include/ap_ring.h,v
retrieving revision 1.3
diff -u -r1.3 ap_ring.h
--- ap_ring.h	2000/09/08 02:44:21	1.3
+++ ap_ring.h	2000/09/08 18:10:40
@@ -166,7 +166,7 @@
 	AP_RING_PREV((ep1), link) = (lep);				\
 	AP_RING_NEXT((epN), link) = AP_RING_NEXT((lep), link);		\
 	AP_RING_PREV(AP_RING_NEXT((lep), link), link) = (epN);		\
-	AP_RING_NEXT((lep), link) = (ep1);				\
+	AP_RING_NEXT(AP_RING_PREV((ep1), link), link) = (ep1);		\
     } while (0)
 #define AP_RING_INSERT_BEFORE(lep, nep, link)				\

Jeff Trawick | | PGP public key at web site:
          Born in Roswell... married an alien...

View raw message