Пример #1
0
 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());
 }
Пример #2
0
      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
      }