whenever checking for EWOULDBLOCK, also check for EAGAIN

This commit is contained in:
Arvid Norberg 2012-11-20 02:08:12 +00:00
parent e23e417ef9
commit 6a3ee5a7cf
2 changed files with 5 additions and 5 deletions

View File

@ -195,7 +195,7 @@ void udp_socket::send(udp::endpoint const& ep, char const* p, int len
#endif
m_ipv4_sock.send_to(asio::buffer(p, len), ep, 0, ec);
if (ec == error::would_block)
if (ec == error::would_block || ec == error::try_again)
{
#if TORRENT_USE_IPV6
if (ep.address().is_v6() && m_ipv6_sock.is_open())
@ -265,7 +265,7 @@ void udp_socket::on_read(error_code const& ec, udp::socket* s)
error_code ec;
udp::endpoint ep;
size_t bytes_transferred = s->receive_from(asio::buffer(m_buf, m_buf_size), ep, 0, ec);
if (ec == asio::error::would_block) break;
if (ec == asio::error::would_block || ec == asio::error::try_again) break;
on_read_impl(s, ep, ec, bytes_transferred);
}
call_drained_handler();

View File

@ -1261,7 +1261,7 @@ void utp_socket_impl::send_syn()
m_sm->send_packet(udp::endpoint(m_remote_address, m_port), (char const*)h
, sizeof(utp_header), ec);
if (ec == error::would_block)
if (ec == error::would_block || ec == error::try_again)
{
#if TORRENT_UTP_LOG
UTP_LOGV("%8p: socket stalled\n", this);
@ -1845,7 +1845,7 @@ bool utp_socket_impl::send_pkt(int flags)
// as well, to resend the packet immediately without
// it being an MTU probe
}
else if (ec == error::would_block)
else if (ec == error::would_block || ec == error::try_again)
{
#if TORRENT_UTP_LOG
UTP_LOGV("%8p: socket stalled\n", this);
@ -2008,7 +2008,7 @@ bool utp_socket_impl::resend_packet(packet* p, bool fast_resend)
, boost::uint32_t(h->timestamp_difference_microseconds));
#endif
if (ec == error::would_block)
if (ec == error::would_block || ec == error::try_again)
{
#if TORRENT_UTP_LOG
UTP_LOGV("%8p: socket stalled\n", this);