From eac94fb823b861442c27d1f6843672f9ecfa4b2e Mon Sep 17 00:00:00 2001 From: Thomas Date: Tue, 15 Aug 2017 11:40:09 -0400 Subject: [PATCH] [5336] Fix EAGAIN/EWOULDBLOCK handling in UnixDomainSocket --- src/lib/asiolink/unix_domain_socket.cc | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/asiolink/unix_domain_socket.cc b/src/lib/asiolink/unix_domain_socket.cc index 44accc3854..f17ec2e8f7 100644 --- a/src/lib/asiolink/unix_domain_socket.cc +++ b/src/lib/asiolink/unix_domain_socket.cc @@ -213,8 +213,10 @@ UnixDomainSocketImpl::sendHandler(const UnixDomainSocket::Handler& remote_handle if ((ec.value() == boost::asio::error::would_block) || (ec.value() == boost::asio::error::try_again)) { doSend(buffer, remote_handler); + + } else { + remote_handler(ec, length); } - remote_handler(ec, length); } void @@ -246,8 +248,10 @@ UnixDomainSocketImpl::receiveHandler(const UnixDomainSocket::Handler& remote_han if ((ec.value() == boost::asio::error::would_block) || (ec.value() == boost::asio::error::try_again)) { doReceive(buffer, remote_handler); + + } else { + remote_handler(ec, length); } - remote_handler(ec, length); } void