|
@@ -289,8 +289,11 @@ oatpp::async::CoroutineStarterForResult<const provider::ResourceHandle<data::str
|
|
|
}
|
|
|
if(error == WSAEWOULDBLOCK || error == WSAEINPROGRESS) {
|
|
|
return ioWait(m_clientHandle, oatpp::async::Action::IOEventType::IO_EVENT_WRITE);
|
|
|
- } else if(error == WSAEINTR) {
|
|
|
+ } else if(error == WSAEINTR || error == WSAEALREADY) {
|
|
|
return ioRepeat(m_clientHandle, oatpp::async::Action::IOEventType::IO_EVENT_WRITE);
|
|
|
+ } else if(error == WSAEINVAL) {
|
|
|
+ return AbstractCoroutine::error(new async::Error(
|
|
|
+ "[oatpp::network::tcp::client::ConnectionProvider::doConnect()]: Error. The parameter m_clientHandle is a listening socket."));
|
|
|
}
|
|
|
|
|
|
#else
|
|
@@ -303,7 +306,7 @@ oatpp::async::CoroutineStarterForResult<const provider::ResourceHandle<data::str
|
|
|
}
|
|
|
if(errno == EALREADY || errno == EINPROGRESS) {
|
|
|
return ioWait(m_clientHandle, oatpp::async::Action::IOEventType::IO_EVENT_WRITE);
|
|
|
- } else if(errno == EINTR) {
|
|
|
+ } else if(errno == EINTR || errno == EALREADY) {
|
|
|
return ioRepeat(m_clientHandle, oatpp::async::Action::IOEventType::IO_EVENT_WRITE);
|
|
|
}
|
|
|
|