src/server/daemon/event_bsd.c

changeset 704
778dcf4ad63c
parent 552
4ed0e46aa9dc
--- 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);

mercurial