WSAETIMEDOUT,Windows上的ETIMEDOUT

时间:2019-04-10 00:27:57

标签: windows


    inline int sockRead (sockType s,void* data,int len
                         ,sockaddr* addr=nullptr,socklen_t* fromLen=nullptr){
      int r=::recvfrom(s,static_cast(data),len,0,addr,fromLen);
      if(r>0)return r;
      auto e=GetError();
      if(0==r||ECONNRESET==e)raiseFiasco("sockRead eof",s,len,e);
      if(EAGAIN==e||EWOULDBLOCK==e
    #ifdef CMW_WINDOWS
         ||WSAETIMEDOUT==e
    #endif
      )return 0;
      raise("sockRead",s,len,e);
    }

我最近添加了ifdef。如果我在Windows上使用ETIMEDOUT,它将进行编译,但与WSAETIMEDOUT的工作方式不同。我想知道是否有一种在Windows上使用ETIMEDOUT的方法,所以我不需要ifdef。谢谢。该函数来自此处:https://github.com/Ebenezer-group/onwards/blob/master/src/cmw/Buffer.hh

0 个答案:

没有答案