Movatterモバイル変換


[0]ホーム

URL:


homepage

Issue23652

This issue trackerhas been migrated toGitHub, and is currentlyread-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

classification
Title:ifdef uses of EPOLLxxx macros so we can compile on systems that don't have them
Type:compile errorStage:resolved
Components:BuildVersions:Python 3.6, Python 3.4, Python 3.5, Python 2.7
process
Status:closedResolution:fixed
Dependencies:Superseder:
Assigned To:Nosy List: WanderingLogic, neologix, python-dev, zach.ware
Priority:normalKeywords:patch

Created on2015-03-12 20:41 byWanderingLogic, last changed2022-04-11 14:58 byadmin. This issue is nowclosed.

Files
File nameUploadedDescriptionEdit
epoll-macros-patch.diffWanderingLogic,2015-03-12 20:41Patch to wrap uses of unusual EPOLLxxx macros in ifdefsreview
Messages (4)
msg237984 -(view)Author: Matt Frank (WanderingLogic)*Date: 2015-03-12 20:41
With the LSB (Linux Standard Base) headers for libcModules/selectmodule.c fails to compile because we have code that uses EPOLLRDNORM, EPOLLRDBAND, EPOLLWRNORM and EPOLLMSG without first checking that they are defined.The patch wraps the five uses of PyModule_AddIntMacro in #ifdefs, following exactly the same pattern that is used for the POLLRDNORM, POLLRDBAND, POLLWRNORM, POLLMSG macros 30 lines earlier in selectmodule.c.The only documentation I can find for these five macros from Linux is (a) in the Python documentation for the select module!  (https://docs.python.org/3.4/library/select.html#edge-and-level-trigger-polling-epoll-objects) and (b) on this StackOverflow answer:http://stackoverflow.com/a/27143672/2209313.They are not described onhttp://man7.org/linux/man-pages/man2/epoll_ctl.2.html (where the rest of the EPOLL macros are defined), nor athttp://linux.die.net/man/4/epoll.  As explained by the StackOverflow answer they actually are described (indirectly) byhttp://man7.org/linux/man-pages/man2/poll.2.html.Nor are these macros in the Linux Foundation's LSB database:http://www.linuxbase.org/navigator/browse/headgroup.php?cmd=list-byheadgroup&HGid=1398.Obviously almost all modern Linuxes have these macros, so we should keep them, but we should also compile with the LSB headers (since compiling and linking against the LSB SDK (http://www.linuxfoundation.org/collaborate/workgroups/lsb/group) is one of the easiest ways to produce a Python binary that will actually run on most important supported Linux distros (e.g., RHEL 5).http://man7.org/linux/man-pages/man7/epoll.7.html,
msg247733 -(view)Author: Zachary Ware (zach.ware)*(Python committer)Date: 2015-07-31 03:51
Looks good to me.
msg247850 -(view)Author: Roundup Robot (python-dev)(Python triager)Date: 2015-08-02 02:39
New changesete38470b49d3c by Zachary Ware in branch '2.7':Issue#23652: Make the select module compile against LSB headers.https://hg.python.org/cpython/rev/e38470b49d3cNew changesetc18a18b65a49 by Zachary Ware in branch '3.4':Issue#23652: Make the select module compile against LSB headers.https://hg.python.org/cpython/rev/c18a18b65a49New changeseta99f17c752d8 by Zachary Ware in branch '3.5':Issue#23652: Merge with 3.4https://hg.python.org/cpython/rev/a99f17c752d8New changesetc7273b46980c by Zachary Ware in branch 'default':Closes#23652: Merge with 3.5https://hg.python.org/cpython/rev/c7273b46980c
msg247851 -(view)Author: Zachary Ware (zach.ware)*(Python committer)Date: 2015-08-02 02:40
Thanks for the patch!
History
DateUserActionArgs
2022-04-11 14:58:13adminsetgithub: 67840
2015-08-02 02:40:31zach.waresetmessages: +msg247851
2015-08-02 02:39:58python-devsetstatus: open -> closed

nosy: +python-dev
messages: +msg247850

resolution: fixed
stage: commit review -> resolved
2015-07-31 03:51:38zach.waresetversions: + Python 3.4
nosy: +zach.ware

messages: +msg247733

stage: commit review
2015-03-12 20:59:43ned.deilysetnosy: +neologix
2015-03-12 20:47:20WanderingLogicsettype: compile error
2015-03-12 20:41:46WanderingLogiccreate
Supported byThe Python Software Foundation,
Powered byRoundup
Copyright © 1990-2022,Python Software Foundation
Legal Statements

[8]ページ先頭

©2009-2026 Movatter.jp