Issue #20455: Add a resolution attribute to IocpProactor (1 ms)
diff --git a/Lib/asyncio/proactor_events.py b/Lib/asyncio/proactor_events.py
index f0c08c2..b6b3be2 100644
--- a/Lib/asyncio/proactor_events.py
+++ b/Lib/asyncio/proactor_events.py
@@ -354,6 +354,7 @@
self._selector = proactor # convenient alias
self._self_reading_future = None
self._accept_futures = {} # socket file descriptor => Future
+ self._granularity = max(proactor.resolution, self._granularity)
proactor.set_loop(self)
self._make_self_pipe()
diff --git a/Lib/asyncio/windows_events.py b/Lib/asyncio/windows_events.py
index 0a2d981..b8574fa 100644
--- a/Lib/asyncio/windows_events.py
+++ b/Lib/asyncio/windows_events.py
@@ -191,6 +191,7 @@
self._cache = {}
self._registered = weakref.WeakSet()
self._stopped_serving = weakref.WeakSet()
+ self.resolution = 1e-3
def set_loop(self, loop):
self._loop = loop
diff --git a/Lib/test/test_asyncio/test_proactor_events.py b/Lib/test/test_asyncio/test_proactor_events.py
index 9964f42..98abe69 100644
--- a/Lib/test/test_asyncio/test_proactor_events.py
+++ b/Lib/test/test_asyncio/test_proactor_events.py
@@ -17,6 +17,7 @@
def setUp(self):
self.loop = test_utils.TestLoop()
self.proactor = unittest.mock.Mock()
+ self.proactor.resolution = 1e-3
self.loop._proactor = self.proactor
self.protocol = test_utils.make_test_protocol(asyncio.Protocol)
self.sock = unittest.mock.Mock(socket.socket)
@@ -342,6 +343,7 @@
def setUp(self):
self.sock = unittest.mock.Mock(socket.socket)
self.proactor = unittest.mock.Mock()
+ self.proactor.resolution = 1e-3
self.ssock, self.csock = unittest.mock.Mock(), unittest.mock.Mock()