fn alloc(userdata: *anyopaque, len: usize, alignment: std.mem.Alignment, ret_addr: usize) ?[*]u8
fn alloc(userdata: *anyopaque, len: usize, alignment: std.mem.Alignment, ret_addr: usize) ?[*]u8 { const ev: *Evented = @ptrCast(@alignCast(userdata)); const ev_io = ev.io(); ev.backing_allocator_mutex.lockUncancelable(ev_io); defer ev.backing_allocator_mutex.unlock(ev_io); return ev.backing_allocator.rawAlloc(len, alignment, ret_addr); }