--- a/src/server/daemon/event_bsd.c Tue Feb 24 21:28:06 2026 +0100 +++ b/src/server/daemon/event_bsd.c Wed Feb 25 22:16:20 2026 +0100 @@ -199,6 +199,20 @@ return kevent(h->kqueue, &kev, 1, NULL, 0, NULL); } +int ev_poll(EventHandler *h, int fd, Event *event) { + event->events = EVENT_POLLOUT; + int filter = 0; + if(event->events & EVENT_POLLOUT) { + filter |= EVFILT_WRITE; + } + if(event->events & EVENT_POLIN) { + filter |= EVFILT_READ; + } + struct kevent kev; + EV_SET(&kev, fd, filter, EV_ADD, 0, 0, event); + return kevent(h->kqueue, &kev, 1, NULL, 0, NULL); +} + int ev_remove_poll(EventHandler *h, int fd) { struct kevent kev; EV_SET(&kev, fd, EVFILT_READ, EV_DELETE, 0, 0, NULL);