summaryrefslogtreecommitdiff
path: root/pjlib/src/pj/pool_caching.c
diff options
context:
space:
mode:
authorJason Parker <jparker@digium.com>2013-03-11 15:09:56 -0500
committerJason Parker <jparker@digium.com>2013-03-11 15:09:56 -0500
commit483805f79570115ab95c69698792d238c1719b1b (patch)
tree6b53ab2fd2b2478f864ccc8bd1b0bfaedc4d2050 /pjlib/src/pj/pool_caching.c
parentf3ab456a17af1c89a6e3be4d20c5944853df1cb0 (diff)
Import pjproject-2.1
Diffstat (limited to 'pjlib/src/pj/pool_caching.c')
-rw-r--r--pjlib/src/pj/pool_caching.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/pjlib/src/pj/pool_caching.c b/pjlib/src/pj/pool_caching.c
index a15c3d9..60659ec 100644
--- a/pjlib/src/pj/pool_caching.c
+++ b/pjlib/src/pj/pool_caching.c
@@ -1,4 +1,4 @@
-/* $Id: pool_caching.c 3553 2011-05-05 06:14:19Z nanang $ */
+/* $Id: pool_caching.c 4298 2012-11-22 05:00:01Z nanang $ */
/*
* Copyright (C) 2008-2011 Teluu Inc. (http://www.teluu.com)
* Copyright (C) 2003-2008 Benny Prijono <benny@prijono.org>
@@ -178,7 +178,11 @@ static pj_pool_t* cpool_create_pool(pj_pool_factory *pf,
pj_pool_init_int(pool, name, increment_sz, callback);
/* Update pool manager's free capacity. */
- cp->capacity -= pj_pool_get_capacity(pool);
+ if (cp->capacity > pj_pool_get_capacity(pool)) {
+ cp->capacity -= pj_pool_get_capacity(pool);
+ } else {
+ cp->capacity = 0;
+ }
PJ_LOG(6, (pool->obj_name, "pool reused, size=%u", pool->capacity));
}
@@ -199,7 +203,7 @@ static pj_pool_t* cpool_create_pool(pj_pool_factory *pf,
static void cpool_release_pool( pj_pool_factory *pf, pj_pool_t *pool)
{
pj_caching_pool *cp = (pj_caching_pool*)pf;
- unsigned pool_capacity;
+ pj_size_t pool_capacity;
unsigned i;
PJ_CHECK_STACK();