asynchat - operation could not complete w/ blocking

Fredrik Lundh fredrik at
Wed Mar 8 13:29:31 CET 2006

"Andreas R." wrote:

>> "sendall" may be sending everything, but it does so by blocking
>> until the other end acknowledges enough packets have been received to
>> ensure that no data is lost.
> Yes, this is how I understood sendall. But why does it sometimes report
> the error: (10035, 'The socket operation could not complete without
> blocking')

in this context, that error message means "I cannot buffer more data right now,
please come back later".

"sendall" (which is designed for blocking sockets) treats that as an error, while
asyncore's send and push methods do the right thing (i.e. waits until the socket
layer signals that it's ready to handle more data).


More information about the Python-list mailing list