If I understand what I've read here and here correctly, what is happening is that the timeout value isn't being set, which means that the socket is being treated as non-blocking (that is, it should not wait for the other end of the socket); however, certain socket operations apparently only work if there is a set timeout. Try using socket.setdefaulttimeout()
with a suitable timeout factor.
If this doesn't work, please post the section of code in question (using code tags) so we can see what is actually happening.