>>> pr = uselect.poll()
>>> pr.register(sock, uselect.POLLIN)
>>> pr.poll()
[(<socket>, 1)]
>>> sock.read(1)
b'\n'
>>> pr.poll()
Note that I sent some more bytes to the socket from the remote end afterwards, but they are not received and poll hangs.
This causes issues with umqtt.simple2 and probably other networking libraries.
I'm using MicroPython v1.10-282-g6a9b3cb-dirty on 2019-09-17; WinnerMicro module with W600
In my experience with umqtt.simple2, when you write data to the socket, then the poll status has a chance to update.