diff --git a/gloo/transport/tcp/socket.cc b/gloo/transport/tcp/socket.cc index 5292b2f33..f3a05948a 100644 --- a/gloo/transport/tcp/socket.cc +++ b/gloo/transport/tcp/socket.cc @@ -59,8 +59,11 @@ void Socket::block(bool on) { GLOO_ENFORCE_NE(rv, -1, "fcntl: ", strerror(errno)); } -void Socket::configureTimeout(int opt, std::chrono::milliseconds timeout) { - struct timeval tv = { +void Socket::configureTimeout(int opt, const std::chrono::milliseconds timeout) { + struct timeval { + long long tv_sec; + long long tv_usec; + } tv = { .tv_sec = timeout.count() / 1000, .tv_usec = (timeout.count() % 1000) * 1000, }; diff --git a/gloo/transport/tcp/socket.h b/gloo/transport/tcp/socket.h index b90de02c4..3ebfdfbd6 100644 --- a/gloo/transport/tcp/socket.h +++ b/gloo/transport/tcp/socket.h @@ -16,6 +16,11 @@ #include +#ifndef SOCK_NONBLOCK +#include +#define SOCK_NONBLOCK O_NONBLOCK +#endif + namespace gloo { namespace transport { namespace tcp {