On Tuesday 27 October 2015 22:51:53 Joel Cunningham wrote:
> Request pools seem short lived, but the cycle pool sticks around for a long 
> time.
> 
> I'm working on a custom module that has state which should persist the entire 
> uptime of NGINX.  I was going to use an array allocated out of the cycle 
> pool, but now I'm not sure that's a good idea.  My array could grow and 
> potentially leak memory in the cycle pool.  Maybe the cycle pool allocation 
> is big enough we never actually exceed the allocation and each array grow 
> will continue to use the current allocation?  Default size is 16KB.  My 
> module could have its own pool, but the same leak could happen within that.
> 
> Would you say this was an intentional design decision or a bug?  Doesn't look 
> like it would be hard to fix assuming my understanding of ngx_array.c is 
> correct.
> 
[..]

It's an intentional design decision.  Moreover, there's no easy way
to return memory to pool.  Even ngx_array_destroy() returns memory
only in very specific case, when the destruction is happened right
after the allocation, so it works only for some temporary arrays.

  wbr, Valentin V. Bartenev

_______________________________________________
nginx-devel mailing list
nginx-devel@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to