fix ngx_reset_pool
Maxim Dounin
mdounin at mdounin.ru
Mon Jul 18 18:50:36 UTC 2016
Hello!
On Tue, Jul 19, 2016 at 12:38:58AM +0800, 梁思健 wrote:
> # HG changeset patch
> # User Liang Sijian <liangsijian at foxmail.com>
> # Date 1468859189 -28800
> # Tue Jul 19 00:26:29 2016 +0800
> # Node ID 45ef1e0a48a82b2a81db6bc447aaeb16a10056f9
> # Parent 6acaa638fa074dada02ad4544a299584da9abc85
> fix ngx_reset_pool
>
> diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c
> --- a/src/core/ngx_palloc.c
> +++ b/src/core/ngx_palloc.c
> @@ -109,7 +109,8 @@ ngx_reset_pool(ngx_pool_t *pool)
> }
>
> for (p = pool; p; p = p->d.next) {
> - p->d.last = (u_char *) p + sizeof(ngx_pool_t);
> + p->d.last = (u_char *) p +
> + (p == pool ? sizeof(ngx_pool_t ) : sizeof(ngx_pool_data_t));
> p->d.failed = 0;
> }
A previous attempt to "fix" this can be found here, it looks
slightly better from my point of view:
http://mailman.nginx.org/pipermail/nginx-devel/2010-June/000351.html
Though we are quite happy with the current code, while it is not
optimal - it is simple and good enough from practical point of
view.
--
Maxim Dounin
http://nginx.org/
More information about the nginx
mailing list