WSAETIMEDOUT, ETIMEDOUT для Windows - PullRequest
       2

WSAETIMEDOUT, ETIMEDOUT для Windows

2 голосов
/ 10 апреля 2019

    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.Если я использую ETIMEDOUT в Windows, он компилируется, но не работает так же, как WSAETIMEDOUT.Я хотел бы знать, есть ли способ использовать ETIMEDOUT в Windows, чтобы мне не понадобился ifdef.Благодарю.Функция отсюда: https://github.com/Ebenezer-group/onwards/blob/master/src/cmw/Buffer.hh

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...