diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ip.cpp | 7 | ||||
| -rw-r--r-- | src/thread.cpp | 6 | 
2 files changed, 7 insertions, 6 deletions
@@ -106,7 +106,7 @@ static int resolve_nic_name (struct sockaddr* addr_, char const *interface_,      return 0;  } -#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX +#elif defined ZMQ_HAVE_AIX || ZMQ_HAVE_HPUX || ZMQ_HAVE_ANDROID  #include <sys/types.h>  #include <unistd.h> @@ -139,8 +139,9 @@ static int resolve_nic_name (struct sockaddr* addr_, char const *interface_,          return -1;      } -    struct sockaddr *sa = (struct sockaddr *) &ifr.ifr_addr; -    *addr_ = ((sockaddr_in*)sa)->sin_addr; +    memcpy (&((sockaddr_in*) addr_)->sin_addr, +        &((sockaddr_in*) &ifr.ifr_addr)->sin_addr, sizeof (in_addr)); +      return 0;      } diff --git a/src/thread.cpp b/src/thread.cpp index 06a47fc..d1c6729 100644 --- a/src/thread.cpp +++ b/src/thread.cpp @@ -59,15 +59,15 @@ extern "C"  {      static void *thread_routine (void *arg_)      { -    #if !defined ZMQ_HAVE_OPENVMS -        //  Following code will guarantee more predictable latecnies as it'll +#if !defined ZMQ_HAVE_OPENVMS && !defined ZMQ_HAVE_ANDROID +        //  Following code will guarantee more predictable latencies as it'll          //  disallow any signal handling in the I/O thread.          sigset_t signal_set;          int rc = sigfillset (&signal_set);          errno_assert (rc == 0);          rc = pthread_sigmask (SIG_BLOCK, &signal_set, NULL);          posix_assert (rc); -    #endif +#endif          zmq::thread_t *self = (zmq::thread_t*) arg_;             self->tfn (self->arg);  | 
