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