chiark / gitweb /
@@@ tvec and tty mess
[mLib] / test / tvec-bench.c
index c4e123d50c0c7ebab93afdd9787703e4797eac6b..62012193c9151b7262d2dadf576429327202d67a 100644 (file)
@@ -261,8 +261,10 @@ void tvec_benchsetup(struct tvec_state *tv, const struct tvec_env *env,
   bc->be = be; bc->bst = 0; bc->subctx = 0;
   if (!tvec_benchprep(tv, be->bst, BTF_INDIRECT))
     { bc->bst = *be->bst; bc->dflt_target = bc->bst->target_s; }
-  if (subenv && subenv->ctxsz) bc->subctx = x_alloc(tv->a, subenv->ctxsz);
-  if (subenv && subenv->setup) subenv->setup(tv, subenv, bc, bc->subctx);
+  if (subenv && subenv->ctxsz)
+    bc->subctx = pool_alloc(tv->p_group, subenv->ctxsz);
+  if (subenv && subenv->setup)
+    subenv->setup(tv, subenv, bc, bc->subctx);
 }
 
 /* --- @tvec_benchfindvar@, @setvar@ --- *
@@ -438,7 +440,6 @@ void tvec_benchteardown(struct tvec_state *tv, void *ctx)
 
   /* Tear down any subsidiary environment. */
   if (subenv && subenv->teardown) subenv->teardown(tv, bc->subctx);
-  if (bc->subctx) x_free(tv->a, bc->subctx);
 
   /* If the benchmark state was temporary, then dispose of it. */
   if (bc->bst) {