#include <unistd.h>
#include "tvec.h"
+#include "tvec-timeout.h"
+#include "tvec-types.h"
/*----- Main code ---------------------------------------------------------*/
reset(tc);
- tc->subctx = 0;
- if (subenv && subenv->ctxsz) tc->subctx = xmalloc(subenv->ctxsz);
+ if (subenv && subenv->ctxsz) tc->subctx = x_alloc(tv->a, subenv->ctxsz);
+ else tc->subctx = 0;
if (subenv && subenv->setup) subenv->setup(tv, subenv, tc, tc->subctx);
}
/* Just call the subsidiary environment. */
if (subenv && subenv->teardown) subenv->teardown(tv, tc->subctx);
+ x_free(tv->a, tc->subctx);
}
/*----- That's all, folks -------------------------------------------------*/