|
|
- --- a/src/signaler.cpp
- +++ b/src/signaler.cpp
- @@ -86,7 +86,8 @@ static int sleep_ms (unsigned int ms_)
- usleep (ms_ * 1000);
- return 0;
- #else
- - return usleep (ms_ * 1000);
- + const struct timespec req = {0, (long int)ms_ * 1000 * 1000};
- + return nanosleep (&req, NULL);
- #endif
- }
-
- --- a/src/tcp_address.cpp
- +++ b/src/tcp_address.cpp
- @@ -29,6 +29,7 @@
-
- #include <string>
- #include <sstream>
- +#include <ctime>
-
- #include "tcp_address.hpp"
- #include "platform.hpp"
- @@ -194,7 +195,8 @@ int zmq::tcp_address_t::resolve_nic_name (const char *nic_, bool ipv6_, bool is_
- rc = getifaddrs (&ifa);
- if (rc == 0 || (rc < 0 && errno != ECONNREFUSED))
- break;
- - usleep ((backoff_msec << i) * 1000);
- + const struct timespec req = {0, (backoff_msec << i) * 1000 * 1000};
- + nanosleep (&req, NULL);
- }
- errno_assert (rc == 0);
- zmq_assert (ifa != NULL);
- --- a/src/zmq.cpp
- +++ b/src/zmq.cpp
- @@ -692,7 +692,8 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
- usleep (timeout_ * 1000);
- return 0;
- #else
- - return usleep (timeout_ * 1000);
- + const struct timespec req = {0, timeout_ * 1000 * 1000};
- + return nanosleep (&req, NULL);
- #endif
- }
-
- @@ -852,7 +853,8 @@ int zmq_poll (zmq_pollitem_t *items_, int nitems_, long timeout_)
- Sleep (timeout_ > 0 ? timeout_ : INFINITE);
- return 0;
- #else
- - return usleep (timeout_ * 1000);
- + const struct timespec req = {0, timeout_ * 1000 * 1000};
- + return nanosleep (&req, NULL);
- #endif
- }
- zmq::clock_t clock;
|