New submission from Antoine Pitrou <pit...@free.fr>:

When a machine has a newer glibc and an old kernel, accept4 can fail and then 
Python accept() is unusable. For example:

Traceback (most recent call last):
  File 
"/home/pybot/buildarea-sid/3.x.klose-debian-sparc/build/Lib/threading.py", line 
525, in _bootstrap_inner
    self.run()
  File 
"/home/pybot/buildarea-sid/3.x.klose-debian-sparc/build/Lib/test/test_asynchat.py",
 line 37, in run
    conn, client = self.sock.accept()
  File "/home/pybot/buildarea-sid/3.x.klose-debian-sparc/build/Lib/socket.py", 
line 132, in accept
    fd, addr = self._accept()
socket.error: [Errno 90] Function not implemented

(from 
http://www.python.org/dev/buildbot/builders/sparc%20Debian%203.x/builds/147/steps/test/logs/stdio
 )


Improving our configure check wouldn't do a lot of good, since people can reuse 
Python binaries with different kernels. Perhaps we have to use some kind of 
runtime fallback.

(Strangely, errno 90 is EMSGSIZE here, and ENOSYS is 38)

----------
components: Extension Modules
messages: 118767
nosy: doko, lekma, nvetoshkin, pitrou
priority: critical
severity: normal
stage: needs patch
status: open
title: accept4 can fail with errno 90
type: behavior
versions: Python 3.2

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue10115>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to