BIND 10 trac2617, updated. 8b84c4beb47bf82e9c8302c39b2144a4717f7d1b [2617] added comments about restrictions on run_kqueue/poller.
BIND 10 source code commits
bind10-changes at lists.isc.org
Mon Feb 4 17:25:33 UTC 2013
The branch, trac2617 has been updated
via 8b84c4beb47bf82e9c8302c39b2144a4717f7d1b (commit)
from 74110729288f3014cfde862c943bb68bc1fceb69 (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 8b84c4beb47bf82e9c8302c39b2144a4717f7d1b
Author: JINMEI Tatuya <jinmei at isc.org>
Date: Mon Feb 4 09:25:14 2013 -0800
[2617] added comments about restrictions on run_kqueue/poller.
-----------------------------------------------------------------------
Summary of changes:
src/bin/msgq/msgq.py.in | 10 ++++++++++
1 file changed, 10 insertions(+)
-----------------------------------------------------------------------
diff --git a/src/bin/msgq/msgq.py.in b/src/bin/msgq/msgq.py.in
index 4cabe8a..d6052c1 100755
--- a/src/bin/msgq/msgq.py.in
+++ b/src/bin/msgq/msgq.py.in
@@ -632,6 +632,12 @@ class MsgQ:
break
else:
writable = event & select.POLLOUT
+ # Note: it may be okayb to read data if available
+ # immediately after write some, but due to unexpected
+ # regression (see comments on the kqueue version below)
+ # we restrict one operation per iteration for now.
+ # In future we may clarify the point and enable the
+ # "read/write" mode.
readable = not writable and (event & select.POLLIN)
if not writable and not readable:
logger.error(MSGQ_POLL_UNKNOWN_EVENT, fd, event)
@@ -658,6 +664,10 @@ class MsgQ:
writable = event.filter == select.KQ_FILTER_WRITE
readable = (event.filter == select.KQ_FILTER_READ and
event.data > 0)
+ # It seems to break some of our test cases if we
+ # immediately close the socket on EOF after reading
+ # some data. It may be possible to avoid by tweaking
+ # the test, but unless we can be sure we'll hold off.
closed = (not readable and
(event.flags & select.KQ_EV_EOF))
self._process_fd(fd, writable, readable, closed)
More information about the bind10-changes
mailing list