Fix build problems with kqueue backend
authorDavin McCall <davmac@davmac.org>
Sun, 19 Jun 2016 17:50:10 +0000 (18:50 +0100)
committerDavin McCall <davmac@davmac.org>
Sun, 19 Jun 2016 17:50:10 +0000 (18:50 +0100)
src/dasynq/dasynq-kqueue.h

index f6d4ce27a9d308670a3b95725a67a00a6c3e9346..48fa98324fc0c9ffda393e7d88be54ec611730c3 100644 (file)
@@ -199,7 +199,7 @@ template <class Base> class KqueueLoop : public Base
     // flags:  IN_EVENTS | OUT_EVENTS
     void addFdWatch(int fd, void *userdata, int flags)
     {
-        // TODO kqueue doesn't support EVFILE_WRITE on file fd's :/
+        // TODO kqueue doesn't support EVFILT_WRITE on file fd's :/
         // Presumably they cause the kevent call to fail. We could maintain
         // a separate set and use poll() (urgh).
         
@@ -216,7 +216,7 @@ template <class Base> class KqueueLoop : public Base
     {
         struct kevent kev[2];
         EV_SET(&kev[0], fd, EVFILT_READ, EV_ADD, 0, 0, userdata);
-        EV_SET(&kev[1], fd, EVFILE_WRITE, EV_ADD, 0, 0, userdata);
+        EV_SET(&kev[1], fd, EVFILT_WRITE, EV_ADD, 0, 0, userdata);
         
         if (kevent(kqfd, kev, 2, nullptr, 0, nullptr) == -1) {
             throw new std::system_error(errno, std::system_category());
@@ -236,8 +236,8 @@ template <class Base> class KqueueLoop : public Base
     void removeBidiFdWatch(int fd) noexcept
     {
         struct kevent kev[2];
-        EV_SET(&kev[0], fd, EVFILT_READ, EV_DELETE, 0, 0, userdata);
-        EV_SET(&kev[1], fd, EVFILE_WRITE, EV_DELETE, 0, 0, userdata);
+        EV_SET(&kev[0], fd, EVFILT_READ, EV_DELETE, 0, 0, nullptr);
+        EV_SET(&kev[1], fd, EVFILT_WRITE, EV_DELETE, 0, 0, nullptr);
         
         kevent(kqfd, kev, 2, nullptr, 0, nullptr);
     }