-
-
Notifications
You must be signed in to change notification settings - Fork 8.3k
Closed
Description
Prior to commit b41055a (PR #12837), this sequence returns immediately (1ms delay):
>>> import select
>>> select.poll().poll(1)
[]
Since that commit, it may hang indefinitely as extmod/modselect.c calls MICROPY_EVENT_POLL_HOOK
while polling for a ready fd or for the timeout to be reached.
More generally, select/poll timeout may not be reached in a quiet rp2 system without a lot of interrupts.
The same problem will probably be seen in network_cyw43.c:226
(connect timeout), lwip recvfrom (recv timeout), NimBLE ble stack timeout... basically anywhere that calls MICROPY_EVENT_POLL_HOOK
in a tight loop which also checks a timeout condition.
Similar bug to #12912, but harder to fix.