Index: server/core.c
===================================================================
RCS file: /cvs/phoenix/2.0.39/server/core.c,v
retrieving revision 1.1.1.1
retrieving revision 1.2
diff -u -r1.1.1.1 -r1.2
--- server/core.c	2002/06/20 13:12:21	1.1.1.1
+++ server/core.c	2002/06/20 14:12:45	1.2
@@ -3337,6 +3337,13 @@
     } while (!APR_BRIGADE_EMPTY(b) && (e != APR_BRIGADE_SENTINEL(b))); \
 } while (0)
 
+#ifdef _AIX
+static int avoid_xlc_issue(struct server_rec *s)
+{
+    return s->next == NULL;
+}
+#endif
+
 static int core_input_filter(ap_filter_t *f, apr_bucket_brigade *b,
                              ap_input_mode_t mode, apr_read_type_e block,
                              apr_off_t readbytes)
@@ -3375,6 +3382,10 @@
     else if (APR_BRIGADE_EMPTY(ctx->b)) {
         return APR_EOF;
     }
+
+#ifdef _AIX
+    avoid_xlc_issue(f->c->base_server);
+#endif
 
     /* ### This is bad. */
     BRIGADE_NORMALIZE(ctx->b);
