Charles-François Natali <neolo...@free.fr> added the comment:
Here's a patch skipping testFDPassSeparate and
testFDPassSeparateMinSpace on OS X < 10.5, due to known kernel bugs
(see http://developer.apple.com/library/mac/#qa/qa1541/_index.html).
For InterruptedSendTimeoutTest and testInterruptedSendmsgTimeout, it
also looks like a kernel bug.
There could be another explanation, though: if, for some reason, other
threads are running at that time, the signal might be delivered to
another thread, and our main thread remains stuck on sendto/sendmsg
once the socket buffer is full. I'm however not sure why this would
only affect OS X (since FreeBSD behaves in the same way when it comes
to signals, contrarily to Linux). Also, I'm not sure why this would
not affect recv/recvmsg.
----------
Added file: http://bugs.python.org/file23027/pass_fds_osx.diff
_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue6560>
_______________________________________
diff -r 1696e2789d91 Lib/test/test_socket.py
--- a/Lib/test/test_socket.py Wed Aug 24 02:15:25 2011 +0200
+++ b/Lib/test/test_socket.py Wed Aug 24 18:36:22 2011 +0200
@@ -2090,7 +2090,9 @@
def _testFDPassCMSG_LEN(self):
self.createAndSendFDs(1)
+ # Passing multiple FDs at once isn't reliable on OS X < 10.5.
@requireAttrs(socket, "CMSG_SPACE")
+ @support.requires_mac_ver(10, 5)
def testFDPassSeparate(self):
# Pass two FDs in two separate arrays. Arrays may be combined
# into a single control message by the OS.
@@ -2111,6 +2113,7 @@
len(MSG))
@requireAttrs(socket, "CMSG_SPACE")
+ @support.requires_mac_ver(10, 5)
def testFDPassSeparateMinSpace(self):
# Pass two FDs in two separate arrays, receiving them into the
# minimum space for two arrays.
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com