Commit 5e03ad6d authored by Constantin Rack's avatar Constantin Rack Committed by GitHub

Merge pull request #2240 from bluca/aix_poll

Problem: 4.2.0 won't compile on AIX 7.1
parents 3f8e6c08 57db5f2a
...@@ -112,6 +112,13 @@ extern "C" { ...@@ -112,6 +112,13 @@ extern "C" {
# include <stdint.h> # include <stdint.h>
#endif #endif
// 32-bit AIX's pollfd struct members are called reqevents and rtnevents so it
// defines compatibility macros for them. Need to include that header first to
// stop build failures since zmq_pollset_t defines them as events and revents.
#ifdef ZMQ_HAVE_AIX
#include <poll.h>
#endif
/******************************************************************************/ /******************************************************************************/
/* 0MQ errors. */ /* 0MQ errors. */
......
...@@ -27,17 +27,23 @@ ...@@ -27,17 +27,23 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
// On AIX platform, poll.h has to be included first to get consistent
// definition of pollfd structure (AIX uses 'reqevents' and 'retnevents'
// instead of 'events' and 'revents' and defines macros to map from POSIX-y
// names to AIX-specific names).
// zmq.h must be included *after* poll.h for AIX to build properly.
// precompiled.hpp includes include/zmq.h
#if defined ZMQ_POLL_BASED_ON_POLL && defined ZMQ_HAVE_AIX
#include <poll.h>
#endif
#include "precompiled.hpp" #include "precompiled.hpp"
#include <stddef.h> #include <stddef.h>
#include "poller.hpp" #include "poller.hpp"
#include "proxy.hpp" #include "proxy.hpp"
#include "likely.hpp" #include "likely.hpp"
// On AIX platform, poll.h has to be included first to get consistent #if defined ZMQ_POLL_BASED_ON_POLL && !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_AIX
// definition of pollfd structure (AIX uses 'reqevents' and 'retnevents'
// instead of 'events' and 'revents' and defines macros to map from POSIX-y
// names to AIX-specific names).
#if defined ZMQ_POLL_BASED_ON_POLL && !defined ZMQ_HAVE_WINDOWS
#include <poll.h> #include <poll.h>
#endif #endif
...@@ -46,10 +52,6 @@ ...@@ -46,10 +52,6 @@
#include "socket_base.hpp" #include "socket_base.hpp"
#include "err.hpp" #include "err.hpp"
// TODO: determine if this is an issue, since zmq.h is being loaded from pch.
// zmq.h must be included *after* poll.h for AIX to build properly
//#include "../include/zmq.h"
int capture( int capture(
class zmq::socket_base_t *capture_, class zmq::socket_base_t *capture_,
zmq::msg_t& msg_, zmq::msg_t& msg_,
......
...@@ -27,15 +27,21 @@ ...@@ -27,15 +27,21 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. along with this program. If not, see <http://www.gnu.org/licenses/>.
*/ */
#include "precompiled.hpp"
#include "poller.hpp"
// On AIX, poll.h has to be included before zmq.h to get consistent // On AIX, poll.h has to be included before zmq.h to get consistent
// definition of pollfd structure (AIX uses 'reqevents' and 'retnevents' // definition of pollfd structure (AIX uses 'reqevents' and 'retnevents'
// instead of 'events' and 'revents' and defines macros to map from POSIX-y // instead of 'events' and 'revents' and defines macros to map from POSIX-y
// names to AIX-specific names). // names to AIX-specific names).
// zmq.h must be included *after* poll.h for AIX to build properly.
// precompiled.hpp includes include/zmq.h
#if defined ZMQ_POLL_BASED_ON_POLL && defined ZMQ_HAVE_AIX
#include <poll.h>
#endif
#include "precompiled.hpp"
#include "poller.hpp"
#if defined ZMQ_POLL_BASED_ON_POLL #if defined ZMQ_POLL_BASED_ON_POLL
#if !defined ZMQ_HAVE_WINDOWS #if !defined ZMQ_HAVE_WINDOWS && !defined ZMQ_HAVE_AIX
#include <poll.h> #include <poll.h>
#endif #endif
#elif defined ZMQ_POLL_BASED_ON_SELECT #elif defined ZMQ_POLL_BASED_ON_SELECT
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment