aboutsummaryrefslogtreecommitdiff
path: root/src/core/ngx_palloc.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2008-11-25 14:25:20 +0000
committerIgor Sysoev <igor@sysoev.ru>2008-11-25 14:25:20 +0000
commit65eba4b692e4f3846b7f3e9824f03c9767cf25f6 (patch)
tree9d62d594b58289b8d68555cff8b5b6d0bd685c38 /src/core/ngx_palloc.c
parentecbb69ad7f775a71d82d5b1c79493e33913a4620 (diff)
downloadnginx-65eba4b692e4f3846b7f3e9824f03c9767cf25f6.tar.gz
nginx-65eba4b692e4f3846b7f3e9824f03c9767cf25f6.zip
ngx_reset_pool()
Diffstat (limited to 'src/core/ngx_palloc.c')
-rw-r--r--src/core/ngx_palloc.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c
index ce826bab6..7c89fda70 100644
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -91,6 +91,26 @@ ngx_destroy_pool(ngx_pool_t *pool)
}
+void
+ngx_reset_pool(ngx_pool_t *pool)
+{
+ ngx_pool_t *p;
+ ngx_pool_large_t *l;
+
+ for (l = pool->large; l; l = l->next) {
+ if (l->alloc) {
+ ngx_free(l->alloc);
+ }
+ }
+
+ pool->large = NULL;
+
+ for (p = pool; p; p = p->d.next) {
+ p->d.last = (u_char *) p + sizeof(ngx_pool_t);
+ }
+}
+
+
void *
ngx_palloc(ngx_pool_t *pool, size_t size)
{