Welcome! Log In Create A New Profile

Advanced

[nginx] Sub filter: switched to ngx_chain_get_free_buf().

Maxim Dounin
July 25, 2013 08:00AM
details: http://hg.nginx.org/nginx/rev/d47ef93134e5
branches:
changeset: 5285:d47ef93134e5
user: Maxim Dounin <mdounin@mdounin.ru>
date: Thu Jul 25 14:54:45 2013 +0400
description:
Sub filter: switched to ngx_chain_get_free_buf().

No functional changes.

diffstat:

src/http/modules/ngx_http_sub_filter_module.c | 83 +++++++-------------------
1 files changed, 22 insertions(+), 61 deletions(-)

diffs (139 lines):

diff --git a/src/http/modules/ngx_http_sub_filter_module.c b/src/http/modules/ngx_http_sub_filter_module.c
--- a/src/http/modules/ngx_http_sub_filter_module.c
+++ b/src/http/modules/ngx_http_sub_filter_module.c
@@ -268,25 +268,14 @@ ngx_http_sub_body_filter(ngx_http_reques

if (ctx->saved.len) {

- if (ctx->free) {
- cl = ctx->free;
- ctx->free = ctx->free->next;
- b = cl->buf;
- ngx_memzero(b, sizeof(ngx_buf_t));
+ cl = ngx_chain_get_free_buf(r->pool, &ctx->free);
+ if (cl == NULL) {
+ return NGX_ERROR;
+ }

- } else {
- b = ngx_calloc_buf(r->pool);
- if (b == NULL) {
- return NGX_ERROR;
- }
+ b = cl->buf;

- cl = ngx_alloc_chain_link(r->pool);
- if (cl == NULL) {
- return NGX_ERROR;
- }
-
- cl->buf = b;
- }
+ ngx_memzero(b, sizeof(ngx_buf_t));

b->pos = ngx_pnalloc(r->pool, ctx->saved.len);
if (b->pos == NULL) {
@@ -303,24 +292,12 @@ ngx_http_sub_body_filter(ngx_http_reques
ctx->saved.len = 0;
}

- if (ctx->free) {
- cl = ctx->free;
- ctx->free = ctx->free->next;
- b = cl->buf;
+ cl = ngx_chain_get_free_buf(r->pool, &ctx->free);
+ if (cl == NULL) {
+ return NGX_ERROR;
+ }

- } else {
- b = ngx_alloc_buf(r->pool);
- if (b == NULL) {
- return NGX_ERROR;
- }
-
- cl = ngx_alloc_chain_link(r->pool);
- if (cl == NULL) {
- return NGX_ERROR;
- }
-
- cl->buf = b;
- }
+ b = cl->buf;

ngx_memcpy(b, ctx->buf, sizeof(ngx_buf_t));

@@ -335,7 +312,6 @@ ngx_http_sub_body_filter(ngx_http_reques
b->file_pos += b->pos - ctx->buf->pos;
}

- cl->next = NULL;
*ctx->last_out = cl;
ctx->last_out = &cl->next;
}
@@ -356,15 +332,14 @@ ngx_http_sub_body_filter(ngx_http_reques

/* rc == NGX_OK */

- b = ngx_calloc_buf(r->pool);
- if (b == NULL) {
+ cl = ngx_chain_get_free_buf(r->pool, &ctx->free);
+ if (cl == NULL) {
return NGX_ERROR;
}

- cl = ngx_alloc_chain_link(r->pool);
- if (cl == NULL) {
- return NGX_ERROR;
- }
+ b = cl->buf;
+
+ ngx_memzero(b, sizeof(ngx_buf_t));

slcf = ngx_http_get_module_loc_conf(r, ngx_http_sub_filter_module);

@@ -386,8 +361,6 @@ ngx_http_sub_body_filter(ngx_http_reques
b->sync = 1;
}

- cl->buf = b;
- cl->next = NULL;
*ctx->last_out = cl;
ctx->last_out = &cl->next;

@@ -398,29 +371,17 @@ ngx_http_sub_body_filter(ngx_http_reques

if (ctx->buf->last_buf || ngx_buf_in_memory(ctx->buf)) {
if (b == NULL) {
- if (ctx->free) {
- cl = ctx->free;
- ctx->free = ctx->free->next;
- b = cl->buf;
- ngx_memzero(b, sizeof(ngx_buf_t));
+ cl = ngx_chain_get_free_buf(r->pool, &ctx->free);
+ if (cl == NULL) {
+ return NGX_ERROR;
+ }

- } else {
- b = ngx_calloc_buf(r->pool);
- if (b == NULL) {
- return NGX_ERROR;
- }
+ b = cl->buf;

- cl = ngx_alloc_chain_link(r->pool);
- if (cl == NULL) {
- return NGX_ERROR;
- }
-
- cl->buf = b;
- }
+ ngx_memzero(b, sizeof(ngx_buf_t));

b->sync = 1;

- cl->next = NULL;
*ctx->last_out = cl;
ctx->last_out = &cl->next;
}

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel
Subject Author Views Posted

[nginx] Sub filter: switched to ngx_chain_get_free_buf().

Maxim Dounin 571 July 25, 2013 08:00AM



Sorry, you do not have permission to post/reply in this forum.

Online Users

Guests: 168
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready