[issue12105] open() does not able to set flags, such as O_CLOEXEC
STINNER Victor
report at bugs.python.org
Mon May 23 14:11:27 CEST 2011
STINNER Victor <victor.stinner at haypocalc.com> added the comment:
> The real issue is that the libc defines O_CLOEXEC, but kernels prior
> to 2.6.23 don't support it: instead of returning EINVAL, the socket
> syscall silently ignores the flag (don't know why I made the comment
> about this flag being defined to 0...).
This is a kernel bug, not a bug in the GNU libc (ask Ulrich if you are not sure ;-)). An host can have multiple kernel versions (and choose at boot time using GRUB/LILO/...), but it has usually only one C library. You cannot change the version of the libc depending on the kernel.
If you really want to fix this problem, you will have to patch kernel < 2.6.23. Good luck!
Or we can workaround kernel bugs providing a documentation and/or functions for that.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue12105>
_______________________________________
More information about the Python-bugs-list
mailing list