void TCPSocket::setSendTimeout(double timeout) { timeval tv = DUNE_TIMEVAL_INIT_SEC_FP(timeout); if (setsockopt(m_handle, SOL_SOCKET, SO_SNDTIMEO, (char *)&tv, sizeof(tv)) < 0) throw NetworkError(DTR("unable to set send timeout"), getLastErrorMessage()); }
bool InterfaceESCC::doPoll(double timeout) { #if defined(DUNE_OS_LINUX) fd_set rfd; FD_ZERO(&rfd); FD_SET(m_handle, &rfd); timeval tv = DUNE_TIMEVAL_INIT_SEC_FP(timeout); int rv = ::select(m_handle + 1, &rfd, 0, 0, &tv); return rv > 0; #else (void)timeout; return false; #endif }