]> granicus.if.org Git - apache/commitdiff
Remove the old EOS logic that I neglected to delete on the last commit,
authorBrian Pane <brianp@apache.org>
Thu, 20 Jun 2002 03:45:21 +0000 (03:45 +0000)
committerBrian Pane <brianp@apache.org>
Thu, 20 Jun 2002 03:45:21 +0000 (03:45 +0000)
and add a check for ap_pass_brigade() failure

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@95818 13f79535-47bb-0310-9956-ffa450edef68

modules/filters/mod_include.c

index 662c86c1becc030dbace5ec8fd37d460b4bac52b..4e9669583163290be38d09d5cd2767120662d061 100644 (file)
@@ -3240,6 +3240,10 @@ static apr_status_t send_parsed_content(apr_bucket_brigade **bb,
                            /* Set aside tag, pass pre-tag... */
             tag_and_after = apr_brigade_split(*bb, ctx->head_start_bucket);
             rv = ap_pass_brigade(f->next, *bb);
+            if (rv != APR_SUCCESS) {
+                return rv;
+            }
+            
             /* Set aside the partial tag
              * Exception: if there's an EOS at the end of this brigade,
              * the tag will never be completed, so send an error and EOS
@@ -3257,27 +3261,12 @@ static apr_status_t send_parsed_content(apr_bucket_brigade **bb,
                     apr_bucket_destroy(b);
                 }
                 CREATE_ERROR_BUCKET(ctx, err_bucket, b, err_bucket);
-                ap_pass_brigade(f->next, tag_and_after);
+                rv = ap_pass_brigade(f->next, tag_and_after);
             }
             else {
                 ap_save_brigade(f, &ctx->ssi_tag_brigade,
                                 &tag_and_after, r->pool);
             }
-            if (APR_BUCKET_IS_EOS(APR_BRIGADE_LAST(ctx->ssi_tag_brigade))) {
-                apr_bucket *new_eos;
-                /* Make sure there's no EOS at the end of the set-aside
-                 * brigade, because we may later prepend it to some
-                 * other brigade
-                 */
-                APR_BUCKET_REMOVE(APR_BRIGADE_LAST(ctx->ssi_tag_brigade));
-
-                /* And put an EOS on the brigade that we're about to pass
-                 * to the next filter.
-                 */
-                new_eos = apr_bucket_eos_create((*bb)->bucket_alloc);
-                APR_BRIGADE_INSERT_TAIL(*bb, new_eos);
-            }
-
             if (rv != APR_SUCCESS) {
                 return rv;
             }