New submission from STINNER Victor:

According to the issue #23618, when connect() fails with EINTR, retrying 
connect() may only work on some platforms. To have a reliable behaviour on all 
platforms, we should wait until the socket becomes writable because the 
connection runs asynchronously in background. When the socket becomes writable, 
we have to gets its error code (getsockopt(SO_ERROR)) to check if the 
connection succeeded or failed.

Attached patch fixes SelectorEventLoop.sock_connect().

----------
components: asyncio
files: connect_eintr.patch
keywords: patch
messages: 240195
nosy: gvanrossum, haypo, yselivanov
priority: normal
severity: normal
status: open
title: asyncio: SelectorEventLoop.sock_connect() must not retry connect() on 
InterruptedError
versions: Python 3.4, Python 3.5
Added file: http://bugs.python.org/file38854/connect_eintr.patch

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue23879>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to