On Tuesday 27 October 2015 20:52:43 Joel Cunningham wrote: > Hi, > > I'm fairly new to the NGINX sources and have been studying ngx_array.c (from 1.9.5), particularly how the array grows when full. > > I'm having some confusion about how pool memory isn't leaked when the new array size can not fit within the current pool allocation and we call ngx_palloc(). The new allocation is assigned to the local variable new, which is eventually assigned to a->elts, but the old memory that was claimed out of the previous pool allocation (and tracked by a->elts) isn't released/marked as no longer used in the pool. I would have expected some manipulation of p- >d.last, similarly to how ngx_array_destroy() releases the memory from the pool allocation. Is there something I'm not understanding about the way array uses the memory pool? > > It seems like over time an array that continues to grow (past the current pool allocation) would leave memory claimed within the pool allocation that it's no longer using or tracking >
It's ok, since pools usually have relatively short lives. wbr, Valentin V. Bartenev _______________________________________________ nginx-devel mailing list [email protected] http://mailman.nginx.org/mailman/listinfo/nginx-devel
