Commit 1eb8e2a6 authored by ALEKSANDR MELNIKOV's avatar ALEKSANDR MELNIKOV

HPUX build and gmake check issues solution (#1412)

parent 4676e655
......@@ -1489,9 +1489,23 @@ void zmq::socket_base_t::monitor_event (int event_, int value_, const std::strin
// Send event in first frame
zmq_msg_t msg;
zmq_msg_init_size (&msg, 6);
#ifdef ZMQ_HAVE_HPUX
// avoid SIGBUS
union {
uint8_t data[6];
struct {
uint16_t event;
uint32_t value;
} v;
} u;
u.v.event = event_;
u.v.value = value_;
memcpy(zmq_msg_data (&msg), u.data, 6);
#else
uint8_t *data = (uint8_t *) zmq_msg_data (&msg);
*(uint16_t *) (data + 0) = (uint16_t) event_;
*(uint32_t *) (data + 2) = (uint32_t) value_;
#endif
zmq_sendmsg (monitor_socket, &msg, ZMQ_SNDMORE);
// Send address in second frame
......
......@@ -104,7 +104,7 @@ void zmq::thread_t::stop ()
void zmq::thread_t::setSchedulingParameters(int priority_, int schedulingPolicy_)
{
#if !defined ZMQ_HAVE_ZOS
#if !defined ZMQ_HAVE_ZOS && !defined ZMQ_HAVE_HPUX
int policy = 0;
struct sched_param param;
......
......@@ -67,7 +67,11 @@ int main (void)
// get the remote endpoint
struct sockaddr_storage ss;
#ifdef ZMQ_HAVE_HPUX
int addrlen = sizeof ss;
#else
socklen_t addrlen = sizeof ss;
#endif
rc = getpeername (srcFd, (struct sockaddr*) &ss, &addrlen);
assert (rc == 0);
......
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