BIND 10 master, updated. eedd7668751d8b5e3d47c8f233cf1d51e34ebd8e [master] fix for bsd/osx timeout error
BIND 10 source code commits
bind10-changes at lists.isc.org
Wed Sep 5 09:22:33 UTC 2012
The branch, master has been updated
via eedd7668751d8b5e3d47c8f233cf1d51e34ebd8e (commit)
from 34955bf9d032356233d00347d35e4cb2af07cdb4 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit eedd7668751d8b5e3d47c8f233cf1d51e34ebd8e
Author: Jelte Jansen <jelte at isc.org>
Date: Wed Sep 5 11:21:31 2012 +0200
[master] fix for bsd/osx timeout error
Check if socket has not been closed after timeout in read
discussed on jabber
-----------------------------------------------------------------------
Summary of changes:
src/lib/asiodns/tcp_server.cc | 7 +++++++
1 file changed, 7 insertions(+)
-----------------------------------------------------------------------
diff --git a/src/lib/asiodns/tcp_server.cc b/src/lib/asiodns/tcp_server.cc
index ed3f28c..3442de9 100644
--- a/src/lib/asiodns/tcp_server.cc
+++ b/src/lib/asiodns/tcp_server.cc
@@ -161,6 +161,13 @@ TCPServer::operator()(asio::error_code ec, size_t length) {
CORO_YIELD return;
}
+ // Due to possible timeouts and other bad behaviour, after the
+ // timely reads are done, there is a chance the socket has
+ // been closed already. So before we move on to the actual
+ // processing, check that, and stop if so.
+ if (!socket_->is_open()) {
+ CORO_YIELD return;
+ }
// Create an \c IOMessage object to store the query.
//
More information about the bind10-changes
mailing list