}
u8*
-format_load_balance_map (u8 *s, va_list ap)
+format_load_balance_map (u8 *s, va_list * ap)
{
- index_t lbmi = va_arg(ap, index_t);
- u32 indent = va_arg(ap, u32);
+ index_t lbmi = va_arg(*ap, index_t);
+ u32 indent = va_arg(*ap, u32);
load_balance_map_t *lbm;
u32 n_buckets, ii;
return (lbm);
}
+static void
+load_balance_map_destroy (load_balance_map_t *lbm)
+{
+ vec_free(lbm->lbm_paths);
+ vec_free(lbm->lbm_buckets);
+ pool_put(load_balance_map_pool, lbm);
+}
+
index_t
load_balance_map_add_or_lock (u32 n_buckets,
u32 sum_of_weights,
else
{
lbm = load_balance_map_get(lbmi);
+ load_balance_map_destroy(tmp);
}
lbm->lbm_locks++;
if (0 == lbm->lbm_locks)
{
load_balance_map_db_remove(lbm);
- vec_free(lbm->lbm_paths);
- vec_free(lbm->lbm_buckets);
- pool_put(load_balance_map_pool, lbm);
+ load_balance_map_destroy(lbm);
}
}