From 97c48ccda6d772ed65b8b2f1ce4c94cf760a0270 Mon Sep 17 00:00:00 2001 From: AJ Lewis Date: Tue, 5 Jun 2012 09:44:02 -0500 Subject: [PATCH 1/3] Fix build on HPUX 11iv3 The socket length variable for getsockname and accept must be an (int *) instead of a (socklen_t *) on HPUX. Signed-off-by: AJ Lewis --- src/ipc_listener.cpp | 4 ++++ src/tcp_listener.cpp | 8 ++++++++ 2 files changed, 12 insertions(+) diff --git a/src/ipc_listener.cpp b/src/ipc_listener.cpp index bbf59a00..becf30dc 100644 --- a/src/ipc_listener.cpp +++ b/src/ipc_listener.cpp @@ -103,7 +103,11 @@ void zmq::ipc_listener_t::in_event () int zmq::ipc_listener_t::get_address (std::string &addr_) { struct sockaddr_storage ss; +#ifdef ZMQ_HAVE_HPUX + int sl = sizeof (ss); +#else socklen_t sl = sizeof (ss); +#endif int rc = getsockname (s, (sockaddr *) &ss, &sl); if (rc != 0) { addr_.clear (); diff --git a/src/tcp_listener.cpp b/src/tcp_listener.cpp index 592bab5e..789deca8 100644 --- a/src/tcp_listener.cpp +++ b/src/tcp_listener.cpp @@ -133,7 +133,11 @@ int zmq::tcp_listener_t::get_address (std::string &addr_) { // Get the details of the TCP socket struct sockaddr_storage ss; +#ifdef ZMQ_HAVE_HPUX + int sl = sizeof (ss); +#else socklen_t sl = sizeof (ss); +#endif int rc = getsockname (s, (struct sockaddr *) &ss, &sl); if (rc != 0) { @@ -233,7 +237,11 @@ zmq::fd_t zmq::tcp_listener_t::accept () zmq_assert (s != retired_fd); struct sockaddr_storage ss = {0}; +#ifdef ZMQ_HAVE_HPUX + int ss_len = sizeof (ss); +#else socklen_t ss_len = sizeof (ss); +#endif fd_t sock = ::accept (s, (struct sockaddr *) &ss, &ss_len); #ifdef ZMQ_HAVE_WINDOWS From e5bb5a60f41e7d22b360f4436d0ccce79d9c625e Mon Sep 17 00:00:00 2001 From: Pieter Hintjens Date: Wed, 6 Jun 2012 06:57:43 +0200 Subject: [PATCH 2/3] Bumped version to 3.3.0 --- include/zmq.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/zmq.h b/include/zmq.h index 83f9209a..58e4017a 100644 --- a/include/zmq.h +++ b/include/zmq.h @@ -59,8 +59,8 @@ extern "C" { /* Version macros for compile-time API version detection */ #define ZMQ_VERSION_MAJOR 3 -#define ZMQ_VERSION_MINOR 1 -#define ZMQ_VERSION_PATCH 1 +#define ZMQ_VERSION_MINOR 3 +#define ZMQ_VERSION_PATCH 0 #define ZMQ_MAKE_VERSION(major, minor, patch) \ ((major) * 10000 + (minor) * 100 + (patch)) From 4bd78bb4cf7be4036cf7bf077738f50849e06c19 Mon Sep 17 00:00:00 2001 From: Alessandro Ghedini Date: Wed, 6 Jun 2012 15:08:00 +0200 Subject: [PATCH 3/3] Check if SO_NOSIGPIPE is defined --- src/stream_engine.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stream_engine.cpp b/src/stream_engine.cpp index fa372c93..d9b91cf7 100644 --- a/src/stream_engine.cpp +++ b/src/stream_engine.cpp @@ -78,7 +78,7 @@ zmq::stream_engine_t::stream_engine_t (fd_t fd_, const options_t &options_) : #endif } -#if defined ZMQ_HAVE_OSX || defined ZMQ_HAVE_FREEBSD +#ifdef SO_NOSIGPIPE // Make sure that SIGPIPE signal is not generated when writing to a // connection that was already closed by the peer. int set = 1;