Message136619
| Author |
vstinner |
| Recipients |
alexey-smirnov, amaury.forgeotdarc, georg.brandl, neologix, petri.lehtinen, pitrou, python-dev, socketpair, vstinner |
| Date |
2011年05月23日.12:11:26 |
| SpamBayes Score |
2.1714763e-09 |
| Marked as misclassified |
No |
| Message-id |
<1306152687.79.0.897007292778.issue12105@psf.upfronthosting.co.za> |
| In-reply-to |
| Content |
> 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. |
|