pub fn deinit(ev: *Evented) void ev: *Evented573
574
575
576
577
578
579
580
581
582
583
584pub fn deinit(ev: *Evented) void {
assert(Thread.current().currentFiber() == &ev.main_fiber);
ev.yield(.exit);
ev.csprng_mutex.deinit();
if (ev.dev_null_file) |file| fileClose(ev, &.{file}) else |_| {}
ev.stderr_mutex.deinit();
for (&ev.futexes) |*futex| futex.deinit();
ev.exit_semaphore.as_object().release();
ev.backing_allocator_mutex.deinit();
ev.backing_allocator.free(ev.main_loop_stack[0..main_loop_stack_size]);
ev.queue.as_object().release();
}