[BACK]Return to subr_pool.c CVS log [TXT][DIR] Up to [cvs.NetBSD.org] / src / sys / kern

Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.

Diff for /src/sys/kern/subr_pool.c between version 1.128.2.9 and 1.128.2.10

version 1.128.2.9, 2007/09/10 11:13:17 version 1.128.2.10, 2007/09/25 01:36:19
Line 1974  pool_cache_bootstrap(pool_cache_t pc, si
Line 1974  pool_cache_bootstrap(pool_cache_t pc, si
   
         mutex_init(&pc->pc_lock, MUTEX_DEFAULT, pp->pr_ipl);          mutex_init(&pc->pc_lock, MUTEX_DEFAULT, pp->pr_ipl);
   
           if (ctor == NULL) {
                   ctor = (int (*)(void *, void *, int))nullop;
           }
           if (dtor == NULL) {
                   dtor = (void (*)(void *, void *))nullop;
           }
   
         pc->pc_emptygroups = NULL;          pc->pc_emptygroups = NULL;
         pc->pc_fullgroups = NULL;          pc->pc_fullgroups = NULL;
         pc->pc_ctor = ctor;          pc->pc_ctor = ctor;
Line 2145  void
Line 2152  void
 pool_cache_destruct_object(pool_cache_t pc, void *object)  pool_cache_destruct_object(pool_cache_t pc, void *object)
 {  {
   
         if (pc->pc_dtor != NULL)          (*pc->pc_dtor)(pc->pc_arg, object);
                 (*pc->pc_dtor)(pc->pc_arg, object);  
         pool_put(&pc->pc_pool, object);          pool_put(&pc->pc_pool, object);
 }  }
   
Line 2344  pool_cache_get_slow(pool_cache_cpu_t *cc
Line 2350  pool_cache_get_slow(pool_cache_cpu_t *cc
         if (object == NULL)          if (object == NULL)
                 return NULL;                  return NULL;
   
         if (pc->pc_ctor != NULL) {          if ((*pc->pc_ctor)(pc->pc_arg, object, flags) != 0) {
                 if ((*pc->pc_ctor)(pc->pc_arg, object, flags) != 0) {                  pool_put(&pc->pc_pool, object);
                         pool_put(&pc->pc_pool, object);                  *objectp = NULL;
                         *objectp = NULL;                  return NULL;
                         return NULL;  
                 }  
         }          }
   
         KASSERT((((vaddr_t)object + pc->pc_pool.pr_itemoffset) &          KASSERT((((vaddr_t)object + pc->pc_pool.pr_itemoffset) &

Legend:
Removed from v.1.128.2.9  
changed lines
  Added in v.1.128.2.10

CVSweb <webmaster@jp.NetBSD.org>