using namespace isc::log;
using namespace isc::util;
-namespace {
-
-/// @brief Timeout for synchronization of leases with partner.
-///
-/// This timeout is very high because in some cases the number of
-/// gathered leases is huge. Syncing should not really take that
-/// long, but if the partner doesn't respond we can't do anything
-/// useful anyway. So, it doesn't really matter.
-const long HA_SYNC_TIMEOUT = 60000;
-
-}
-
namespace isc {
namespace ha {
post_sync_action(error_message.empty(),
error_message);
}
- }, HttpClient::RequestTimeout(HA_SYNC_TIMEOUT));
+ });
}
ConstElementPtr
boost::scoped_ptr<SocketInfo> candidate;
IfacePtr iface;
fd_set sockets;
- fd_set write_sockets;
int maxfd = 0;
FD_ZERO(&sockets);
- FD_ZERO(&write_sockets);
/// @todo: marginal performance optimization. We could create the set once
/// and then use its copy for select(). Please note that select() modifies
if (!callbacks_.empty()) {
BOOST_FOREACH(SocketCallbackInfo s, callbacks_) {
FD_SET(s.socket_, &sockets);
-
- // Sometimes we want to react to socket writes, not only to reads.
- // However, current use cases are limited to CommandMgr which
- // doesn't trigger any callbacks. For all use cases that install
- // callbacks we don't react to socket reads being afraid what we
- // can break.
- /// @todo This whole solution is temporary and implemented for
- /// #5649.
- if (!s.callback_) {
- FD_SET(s.socket_, &write_sockets);
- }
if (maxfd < s.socket_) {
maxfd = s.socket_;
}
// zero out the errno to be safe
errno = 0;
- int result = select(maxfd + 1, &sockets, &write_sockets, NULL, &select_timeout);
+ int result = select(maxfd + 1, &sockets, NULL, NULL, &select_timeout);
if (result == 0) {
// nothing received and timeout has been reached
boost::scoped_ptr<SocketInfo> candidate;
fd_set sockets;
- fd_set write_sockets;
int maxfd = 0;
FD_ZERO(&sockets);
- FD_ZERO(&write_sockets);
/// @todo: marginal performance optimization. We could create the set once
/// and then use its copy for select(). Please note that select() modifies
BOOST_FOREACH(SocketCallbackInfo s, callbacks_) {
// Add it to the set as well
FD_SET(s.socket_, &sockets);
-
- // Sometimes we want to react to socket writes, not only to reads.
- // However, current use cases are limited to CommandMgr which
- // doesn't trigger any callbacks. For all use cases that install
- // callbacks we don't react to socket reads being afraid what we
- // can break.
- /// @todo This whole solution is temporary and implemented for
- /// #5649.
- if (!s.callback_) {
- FD_SET(s.socket_, &write_sockets);
- }
if (maxfd < s.socket_) {
maxfd = s.socket_;
}
// zero out the errno to be safe
errno = 0;
- int result = select(maxfd + 1, &sockets, &write_sockets, NULL, &select_timeout);
+ int result = select(maxfd + 1, &sockets, NULL, NULL, &select_timeout);
if (result == 0) {
// nothing received and timeout has been reached