On Fri, Apr 03, 2020 at 04:18:38PM +0200, Jan Tluka wrote:
Wed, Apr 01, 2020 at 06:52:51PM CEST, olichtne(a)redhat.com wrote:
>From: Ondrej Lichtner <olichtne(a)redhat.com>
>
>Before calling select on provided connection/socket objects we need to
>check if any of them may have been closed and need to be removed first.
Not quite sure but don't we need to first check if there was any data
available on the connection/socket? With the patch we could silently
discard such data.
We don't because "closed" is only true if the file descriptor number for
the socket is -1, so we can't really read from it anymore anyway. And
for Connection objects created by multiprocessing.Pipe it's a similar
situation, the "handle" which would normally contain the filedescriptor
is cleaned up already and the "closed" property is calculated based on
the availability of this handle.
-Ondrej