diff options
author | Martin Sustrik <sustrik@250bpm.com> | 2010-02-19 15:25:05 +0100 |
---|---|---|
committer | Martin Sustrik <sustrik@250bpm.com> | 2010-02-19 15:25:05 +0100 |
commit | aff1f6621ae13083c7f15f7f1f808560254a2dcb (patch) | |
tree | 9e73dd8bd5d38a21e0aa83b4d4bea55b7792b39e /src/kqueue.cpp | |
parent | 75f571c8844231f4172f131e1dd6ba2348eb54e5 (diff) | |
parent | 2a79a943de417679c562cd4a917e1d1bc19b0d25 (diff) |
Merge branch 'master' of git@github.com:sustrik/zeromq2
Diffstat (limited to 'src/kqueue.cpp')
-rw-r--r-- | src/kqueue.cpp | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/src/kqueue.cpp b/src/kqueue.cpp index bf9c8a2..e1fe2fa 100644 --- a/src/kqueue.cpp +++ b/src/kqueue.cpp @@ -19,7 +19,8 @@ #include "platform.hpp" -#if defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_OPENBSD || defined ZMQ_HAVE_OSX +#if defined ZMQ_HAVE_FREEBSD || defined ZMQ_HAVE_OPENBSD ||\ + defined ZMQ_HAVE_OSX || defined ZMQ_HAVE_NETBSD #include <sys/time.h> #include <sys/types.h> @@ -34,6 +35,14 @@ #include "config.hpp" #include "i_poll_events.hpp" +// NetBSD defines (struct kevent).udata as intptr_t, everyone else +// as void *. +#if defined ZMQ_HAVE_NETBSD +#define kevent_udata_t intptr_t +#else +#define kevent_udata_t void * +#endif + zmq::kqueue_t::kqueue_t () : stopping (false) { @@ -56,7 +65,7 @@ void zmq::kqueue_t::kevent_add (fd_t fd_, short filter_, void *udata_) { struct kevent ev; - EV_SET (&ev, fd_, filter_, EV_ADD, 0, 0, udata_); + EV_SET (&ev, fd_, filter_, EV_ADD, 0, 0, (kevent_udata_t)udata_); int rc = kevent (kqueue_fd, &ev, 1, NULL, 0, NULL); errno_assert (rc != -1); } @@ -65,7 +74,7 @@ void zmq::kqueue_t::kevent_delete (fd_t fd_, short filter_) { struct kevent ev; - EV_SET (&ev, fd_, filter_, EV_DELETE, 0, 0, NULL); + EV_SET (&ev, fd_, filter_, EV_DELETE, 0, 0, (kevent_udata_t)NULL); int rc = kevent (kqueue_fd, &ev, 1, NULL, 0, NULL); errno_assert (rc != -1); } @@ -212,4 +221,6 @@ void zmq::kqueue_t::worker_routine (void *arg_) ((kqueue_t*) arg_)->loop (); } +// Don't pollute namespace with defines local to this file +#undef kevent_udata_t #endif |