| version 1.50, 2001/01/29 02:38:02 |
version 1.51, 2001/05/04 19:41:26 |
| Line 1736 pool_cache_put(struct pool_cache *pc, vo |
|
| Line 1736 pool_cache_put(struct pool_cache *pc, vo |
|
| * Unable to allocate a cache group; destruct the object |
* Unable to allocate a cache group; destruct the object |
| * and free it back to the pool. |
* and free it back to the pool. |
| */ |
*/ |
| if (pc->pc_dtor != NULL) |
pool_cache_destruct_object(pc, object); |
| (*pc->pc_dtor)(pc->pc_arg, object); |
|
| pool_put(pc->pc_pool, object); |
|
| return; |
return; |
| } |
} |
| |
|
| Line 1753 pool_cache_put(struct pool_cache *pc, vo |
|
| Line 1751 pool_cache_put(struct pool_cache *pc, vo |
|
| } |
} |
| |
|
| /* |
/* |
| |
* pool_cache_destruct_object: |
| |
* |
| |
* Force destruction of an object and its release back into |
| |
* the pool. |
| |
*/ |
| |
void |
| |
pool_cache_destruct_object(struct pool_cache *pc, void *object) |
| |
{ |
| |
|
| |
if (pc->pc_dtor != NULL) |
| |
(*pc->pc_dtor)(pc->pc_arg, object); |
| |
pool_put(pc->pc_pool, object); |
| |
} |
| |
|
| |
/* |
| * pool_cache_do_invalidate: |
* pool_cache_do_invalidate: |
| * |
* |
| * This internal function implements pool_cache_invalidate() and |
* This internal function implements pool_cache_invalidate() and |