summaryrefslogtreecommitdiff
path: root/src/poller.hpp
diff options
context:
space:
mode:
authorMartin Sustrik <sustrik@250bpm.com>2011-07-24 18:13:29 +0200
committerMartin Sustrik <sustrik@250bpm.com>2011-07-24 18:13:29 +0200
commitf716b571baf59c1b622c7666bb8bf2905126a3d4 (patch)
treee674579a8fe13664ef5254cfc1c591c6be870426 /src/poller.hpp
parent0e71b111f4c413e235978698e8a281acab3bb06e (diff)
Only one polling mechanism is compiled
Till now wrappers for all the polling mechanisms available on the given platform were compiled, although only one of them was used. This patch compiles just the used one. This can make libzmq binary more concise. Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
Diffstat (limited to 'src/poller.hpp')
-rw-r--r--src/poller.hpp62
1 files changed, 35 insertions, 27 deletions
diff --git a/src/poller.hpp b/src/poller.hpp
index 10fafb9..a8936ce 100644
--- a/src/poller.hpp
+++ b/src/poller.hpp
@@ -21,53 +21,61 @@
#ifndef __ZMQ_POLLER_HPP_INCLUDED__
#define __ZMQ_POLLER_HPP_INCLUDED__
-#include "epoll.hpp"
-#include "poll.hpp"
-#include "select.hpp"
-#include "devpoll.hpp"
-#include "kqueue.hpp"
-
-namespace zmq
-{
+#include "platform.hpp"
#if defined ZMQ_FORCE_SELECT
- typedef select_t poller_t;
+#define ZMQ_USE_SELECT
+#include "select.hpp"
#elif defined ZMQ_FORCE_POLL
- typedef poll_t poller_t;
+#define ZMQ_USE_POLL
+#include "poll.hpp"
#elif defined ZMQ_FORCE_EPOLL
- typedef epoll_t poller_t;
+#define ZMQ_USE_EPOLL
+#include "epoll.hpp"
#elif defined ZMQ_FORCE_DEVPOLL
- typedef devpoll_t poller_t;
+#define ZMQ_USE_DEVPOLL
+#include "devpoll.hpp"
#elif defined ZMQ_FORCE_KQUEUE
- typedef kqueue_t poller_t;
+#define ZMQ_USE_KQUEUE
+#include "kqueue.hpp"
#elif defined ZMQ_HAVE_LINUX
- typedef epoll_t poller_t;
+#define ZMQ_USE_EPOLL
+#include "epoll.hpp"
#elif defined ZMQ_HAVE_WINDOWS
- typedef select_t poller_t;
+#define ZMQ_USE_SELECT
+#include "select.hpp"
#elif defined ZMQ_HAVE_FREEBSD
- typedef kqueue_t poller_t;
+#define ZMQ_USE_KQUEUE
+#include "kqueue.hpp"
#elif defined ZMQ_HAVE_OPENBSD
- typedef kqueue_t poller_t;
+#define ZMQ_USE_KQUEUE
+#include "kqueue.hpp"
#elif defined ZMQ_HAVE_NETBSD
- typedef kqueue_t poller_t;
+#define ZMQ_USE_KQUEUE
+#include "kqueue.hpp"
#elif defined ZMQ_HAVE_SOLARIS
- typedef devpoll_t poller_t;
+#define ZMQ_USE_DEVPOLL
+#include "devpoll.hpp"
#elif defined ZMQ_HAVE_OSX
- typedef kqueue_t poller_t;
+#define ZMQ_USE_KQUEUE
+#include "kqueue.hpp"
#elif defined ZMQ_HAVE_QNXNTO
- typedef poll_t poller_t;
+#define ZMQ_USE_POLL
+#include "poll.hpp"
#elif defined ZMQ_HAVE_AIX
- typedef poll_t poller_t;
+#define ZMQ_USE_POLL
+#include "poll.hpp"
#elif defined ZMQ_HAVE_HPUX
- typedef devpoll_t poller_t;
+#define ZMQ_USE_DEVPOLL
+#include "devpoll.hpp"
#elif defined ZMQ_HAVE_OPENVMS
- typedef select_t poller_t;
+#define ZMQ_USE_SELECT
+#include "select.hpp"
#elif defined ZMQ_HAVE_CYGWIN
- typedef select_t poller_t;
+#define ZMQ_USE_SELECT
+#include "select.hpp"
#else
#error Unsupported platform
#endif
-}
-
#endif