This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author neologix
Recipients neologix, sbt, vstinner
Date 2013-08-25.10:10:08
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <CAH_1eM0FPuJ-SbePrUm9Kp9UKsO+xssghy97EbQWhO1UJ8TLAg@mail.gmail.com>
In-reply-to <CAH_1eM1V8hMPbSCZMrJbiTUuB8WLHZ6hAkmLJRPwFJ-usdZTYw@mail.gmail.com>
Content
Alright, I think I know what's happening.

The Python implementation uses a TCP socket, whereas the native
implementation uses AF_UNIX socket.
The maximum size of data that can be written to a socket without
blocking is given by its send/receive buffers.
On Linux, the default buffer sizes are set by:
net.core.(r|w)mem_default

but for TCP sockets, its set by:
net.ipv4.tcp_(r|w)mem

So on your machine, you probably have tcp_(r|w)mem quite larger than
(r|w)mem, so the sendall test doesn't write enough data to the socket
to block.

The solution is simply to increase the amount of data written.
Could you try the attached patch?

If it works I'll commit it, because the test isn't really reliable
(i.e. it could fail on a machine with a large (r|w)mem_default).
History
Date User Action Args
2013-08-25 10:10:09neologixsetrecipients: + neologix, vstinner, sbt
2013-08-25 10:10:09neologixlinkissue18643 messages
2013-08-25 10:10:08neologixcreate