From 1a25c506805192f731d0d66d3edb8846e6ec071d Mon Sep 17 00:00:00 2001 From: Mohsen Hariri Date: Fri, 10 Mar 2017 15:46:38 +0100 Subject: [PATCH] Clear writable sockets after the first event This fixes #807 --- supervisor/poller.py | 2 +- supervisor/tests/test_poller.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/supervisor/poller.py b/supervisor/poller.py index b4237d8f0..cbec48967 100644 --- a/supervisor/poller.py +++ b/supervisor/poller.py @@ -140,7 +140,7 @@ def register_readable(self, fd): def register_writable(self, fd): self.writables.add(fd) kevent = select.kevent(fd, filter=select.KQ_FILTER_WRITE, - flags=select.KQ_EV_ADD) + flags=select.KQ_EV_ADD | select.KQ_EV_CLEAR) self._kqueue_control(fd, kevent) def unregister(self, fd): diff --git a/supervisor/tests/test_poller.py b/supervisor/tests/test_poller.py index 09a7f46bb..0553d97dc 100644 --- a/supervisor/tests/test_poller.py +++ b/supervisor/tests/test_poller.py @@ -227,7 +227,7 @@ def assertReadEventAdded(self, kevent, fd): self.assertKevent(kevent, fd, select.KQ_FILTER_READ, select.KQ_EV_ADD) def assertWriteEventAdded(self, kevent, fd): - self.assertKevent(kevent, fd, select.KQ_FILTER_WRITE, select.KQ_EV_ADD) + self.assertKevent(kevent, fd, select.KQ_FILTER_WRITE, select.KQ_EV_ADD | select.KQ_EV_CLEAR) def assertDeletedEvent(self, kevent, fd): self.assertKevent(kevent, fd, select.KQ_FILTER_READ | select.KQ_FILTER_WRITE,