From ba3e18f700659202247e38a7f48ea16d32bd8e79 Mon Sep 17 00:00:00 2001 From: Charles McGarvey Date: Mon, 21 Jan 2013 17:14:26 -0700 Subject: [PATCH] define a dummy EPROTO for platforms that don't use it This accomplishes the same thing as 2e2ef7fd in a potentially cleaner way. --- src/err.hpp | 5 +++++ src/ipc_listener.cpp | 7 +------ src/tcp_listener.cpp | 7 +------ 3 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/err.hpp b/src/err.hpp index b25efc06..7e27c823 100644 --- a/src/err.hpp +++ b/src/err.hpp @@ -44,6 +44,11 @@ #include #endif +// EPROTO is not used by OpenBSD and maybe other platforms. +#ifndef EPROTO +#define EPROTO 0 +#endif + namespace zmq { const char *errno_to_string (int errno_); diff --git a/src/ipc_listener.cpp b/src/ipc_listener.cpp index 2aa107d2..28b01a6e 100644 --- a/src/ipc_listener.cpp +++ b/src/ipc_listener.cpp @@ -195,13 +195,8 @@ zmq::fd_t zmq::ipc_listener_t::accept () zmq_assert (s != retired_fd); fd_t sock = ::accept (s, NULL, NULL); if (sock == -1) { -#ifdef EPROTO -#define OR_ERRNO_EQ_EPROTO || errno == EPROTO -#else -#define OR_ERRNO_EQ_EPROTO -#endif errno_assert (errno == EAGAIN || errno == EWOULDBLOCK || - errno == EINTR || errno == ECONNABORTED OR_ERRNO_EQ_EPROTO || + errno == EINTR || errno == ECONNABORTED || errno == EPROTO || errno == ENFILE); return retired_fd; } diff --git a/src/tcp_listener.cpp b/src/tcp_listener.cpp index 348e623c..3cd29b6c 100644 --- a/src/tcp_listener.cpp +++ b/src/tcp_listener.cpp @@ -262,13 +262,8 @@ zmq::fd_t zmq::tcp_listener_t::accept () win_assert (brc); #else if (sock == -1) { -#ifdef EPROTO -#define OR_ERRNO_EQ_EPROTO || errno == EPROTO -#else -#define OR_ERRNO_EQ_EPROTO -#endif errno_assert (errno == EAGAIN || errno == EWOULDBLOCK || - errno == EINTR || errno == ECONNABORTED OR_ERRNO_EQ_EPROTO || + errno == EINTR || errno == ECONNABORTED || errno == EPROTO || errno == ENOBUFS || errno == ENOMEM || errno == EMFILE || errno == ENFILE); return retired_fd;