New submission from Artem Khramov :
FreeBSD implementation of poll(2) restricts timeout argument to be either zero,
or positive, or equal to INFTIM (-1).
Unless otherwise overridden, socket timeout defaults to -1. This value is then
converted to milliseconds (-1000) and used as argument to the poll syscall.
poll returns EINVAL (22), and the connection fails.
I have discovered this bug during the EINTR handling testing, and have
naturally found a repro code in https://bugs.python.org/issue23618 (see
connect_eintr.py, attached). On GNU/Linux, the example runs as expected.
--
files: connect_eintr.py
messages: 349356
nosy: akhramov
priority: normal
severity: normal
status: open
title: [FreeBSD, OSX] Socket module: incorrect usage of poll(2)
versions: Python 2.7, Python 3.5, Python 3.6, Python 3.7, Python 3.8, Python 3.9
Added file: https://bugs.python.org/file48537/connect_eintr.py
___
Python tracker
<https://bugs.python.org/issue37811>
___
___
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com