python / cpython

The Python programming language
https://www.python.org
Other
63.45k stars 30.38k forks source link

./configure eventfd support does not also check for existence of flags #93899

Closed gha-xena closed 2 years ago

gha-xena commented 2 years ago

Bug report

The configure script currently checks if sys/eventfd.h exists, and then later uses that in posixmodule.c here: https://github.com/python/cpython/blob/main/Modules/posixmodule.c#L15465 . The issue comes from that eventfd was introduced in 2.6.22, but EFD_CLOEXEC, EFD_NONBLOCK, EFD_SEMAPHORE were introduced in 2.6.26, 2.6.26 and 2.6.30 respectively and which are assumed to be present.

Your environment

I encountered this on Fedora 10 i386 with kernel version 2.6.27 so build was failing on EFD_SEMAPHORE. I tested this on CPython 3.10.5 and this should be an issue in 3.10 since eventfd was introduced in that version I believe.

erlend-aasland commented 2 years ago

Fixed by:

erlend-aasland commented 2 years ago

Thanks for the report, @gha-xena; thanks for the PR, Kumar!