commit 562f76f02be1081713e334d1f6faeef7876a55a7 from: Omar Polo date: Thu Dec 21 19:15:23 2023 UTC ev: check for fd dups commit - 94eeacc5a3d331d18f064fe93df5209168a3d444 commit + 562f76f02be1081713e334d1f6faeef7876a55a7 blob - f5e9da904c4e079bb80b2f10418d4becad566530 blob + 52810501903271f6d82bf5438d23d15b7acb1b1c --- ev/ev.ha +++ ev/ev.ha @@ -98,6 +98,15 @@ export fn evadd( data: nullable *opaque ) void = { const b = evloop: *base; + + for (let i = 0z; i < len(b.wip.pfds); i += 1) { + if (b.wip.pfds[i].fd != fd) + continue; + b.wip.pfds[i].events = ev2poll(ev); + b.wip.cbs[i] = cb { cb = f, data = data }; + return; + }; + append(b.wip.pfds, poll::pollfd { fd = fd, events = ev2poll(ev),