ngx_reset_pool()
diff --git a/src/core/ngx_palloc.c b/src/core/ngx_palloc.c
index ce826ba..7c89fda 100644
--- a/src/core/ngx_palloc.c
+++ b/src/core/ngx_palloc.c
@@ -91,6 +91,26 @@
}
+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)
{
diff --git a/src/core/ngx_palloc.h b/src/core/ngx_palloc.h
index 2b3a30c..434f972 100644
--- a/src/core/ngx_palloc.h
+++ b/src/core/ngx_palloc.h
@@ -73,6 +73,7 @@
ngx_pool_t *ngx_create_pool(size_t size, ngx_log_t *log);
void ngx_destroy_pool(ngx_pool_t *pool);
+void ngx_reset_pool(ngx_pool_t *pool);
void *ngx_palloc(ngx_pool_t *pool, size_t size);
void *ngx_pnalloc(ngx_pool_t *pool, size_t size);