BIND 10 trac2856, updated. 786a742bc321666586ee923cf15e2d2624ddee42 [2856] With no readers, make complete_update() from UPDATING go directly to READY

BIND 10 source code commits bind10-changes at lists.isc.org
Thu Jul 25 12:37:41 UTC 2013


The branch, trac2856 has been updated
       via  786a742bc321666586ee923cf15e2d2624ddee42 (commit)
      from  4f96d3ab2e65356e9cb778ba140a9b8793f8e879 (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 786a742bc321666586ee923cf15e2d2624ddee42
Author: Mukund Sivaraman <muks at isc.org>
Date:   Thu Jul 25 18:06:49 2013 +0530

    [2856] With no readers, make complete_update() from UPDATING go directly to READY

-----------------------------------------------------------------------

Summary of changes:
 src/lib/python/isc/memmgr/datasrc_info.py          |    2 +-
 .../python/isc/memmgr/tests/datasrc_info_tests.py  |   12 ++++++++++++
 2 files changed, 13 insertions(+), 1 deletion(-)

-----------------------------------------------------------------------
diff --git a/src/lib/python/isc/memmgr/datasrc_info.py b/src/lib/python/isc/memmgr/datasrc_info.py
index 763176a..9b1516b 100644
--- a/src/lib/python/isc/memmgr/datasrc_info.py
+++ b/src/lib/python/isc/memmgr/datasrc_info.py
@@ -169,7 +169,7 @@ class SegmentInfo:
             self.__state = self.SYNCHRONIZING
             self.__old_readers = self.__readers
             self.__readers = set()
-            return self.__sync_reader_helper(self.SYNCHRONIZING)
+            return self.__sync_reader_helper(self.READY)
         elif self.__state == self.COPYING:
             self.__state = self.READY
             return None
diff --git a/src/lib/python/isc/memmgr/tests/datasrc_info_tests.py b/src/lib/python/isc/memmgr/tests/datasrc_info_tests.py
index 845d246..538f375 100644
--- a/src/lib/python/isc/memmgr/tests/datasrc_info_tests.py
+++ b/src/lib/python/isc/memmgr/tests/datasrc_info_tests.py
@@ -175,6 +175,18 @@ class TestSegmentInfo(unittest.TestCase):
         self.assertIsNone(e) # old_readers is not empty
         self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.SYNCHRONIZING)
 
+        # c) with no readers, complete_update() from UPDATING must go
+        # directly to READY state
+        self.__si_to_ready_state()
+        self.__sgmt_info.add_event((42,))
+        e = self.__sgmt_info.start_update()
+        self.assertTupleEqual(e, (42,))
+        self.assertSetEqual(self.__sgmt_info.get_readers(), set())
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.UPDATING)
+        e = self.__sgmt_info.complete_update()
+        self.assertTupleEqual(e, (42,))
+        self.assertEqual(self.__sgmt_info.get_state(), SegmentInfo.READY)
+
         # in SYNCHRONIZING state
         self.__si_to_synchronizing_state()
         self.assertRaises(SegmentInfoError, self.__sgmt_info.complete_update)



More information about the bind10-changes mailing list