diff options
author | Damien George <damien@micropython.org> | 2023-08-14 13:45:53 +1000 |
---|---|---|
committer | Damien George <damien@micropython.org> | 2023-08-14 18:48:47 +1000 |
commit | f6af48416d6423016fd4395fd3260ba66f56cf56 (patch) | |
tree | 9aad94bece9802b693997640e586da097ce9698f /tests/extmod/select_poll_custom.py | |
parent | 24a6e951ec7696b8d18d95fe5da36f7e489913d0 (diff) | |
download | micropython-f6af48416d6423016fd4395fd3260ba66f56cf56.tar.gz micropython-f6af48416d6423016fd4395fd3260ba66f56cf56.zip |
extmod/modselect: Properly track number of poll objects that are fd's.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'tests/extmod/select_poll_custom.py')
-rw-r--r-- | tests/extmod/select_poll_custom.py | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/tests/extmod/select_poll_custom.py b/tests/extmod/select_poll_custom.py index 0cbb610327..b854a8a14d 100644 --- a/tests/extmod/select_poll_custom.py +++ b/tests/extmod/select_poll_custom.py @@ -77,7 +77,26 @@ try: except OSError as er: print("OSError", er.errno) +# Register then unregister a socket (a native stream), then test +# that the Python object is still pollable. +s2 = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) +x.poll_state = _MP_STREAM_POLL_RD +poller.register(s2) +poller.unregister(s2) +print_poll_output(poller.poll()) + +# Test registering and unregistering multiple times. +for _ in range(2): + poller.unregister(s) + poller.unregister(x) + poller.register(s2) + poller.register(s, select.POLLIN) + poller.register(x, select.POLLIN) + poller.unregister(s2) + print_poll_output(poller.poll()) + +# Clean up. poller.unregister(x) poller.unregister(s) - +s2.close() s.close() |