コード例 #1
0
ファイル: TCPSocket.cpp プロジェクト: AndreGCGuerra/dune
 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
ファイル: InterfaceESCC.cpp プロジェクト: retlaw84/dune
      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
      }