void prf_presentsamples(fl64 ft) { if (!g_prf.init) return; /* save whole frame duration for built sampels */ g_prf.samples_back->duration = (float)(ft*1000.0); /* block presenting front buffer until we are done with json data creation */ if (mt_mutex_try(&g_prf.samples_mtx)) { swapptr((void**)&g_prf.samples_back, (void**)&g_prf.samples_front); mt_mutex_unlock(&g_prf.samples_mtx); } /* reset back buffer stack allocator */ struct prf_samples* s = g_prf.samples_back; mem_stack_reset(&s->alloc); s->node_cur = NULL; s->nodes = NULL; }
void mt_thread_resettmpalloc(mt_thread thread) { mem_stack_reset(&thread->tmp_mem); }