[PD] pd and tcp: what to do against crashes?

Martin Peach martin.peach at sympatico.ca
Sun Feb 22 23:30:18 CET 2009


I just tried with 2 machines having [tcpserver] (WinXP) repeatedly send 
to [tcpclient] (Ubuntu) while I pulled out the cable from one machine. 
The server keeps sending until it disconnects about a minute later with 
message
"tcpserver: not a valid socket number (-1)"
The client however thinks it's still connected and I need to disconnect 
before reconnecting to be able to resume communication.
So there's no crash there. It's probably the buffer overflow.
Then I modified [tcpserver] to check if the socket is writeable first, 
using select(). This causes messages to appear when the buffer overflows 
instead of blocking at the send() call, but it doesn't close the socket.
I gave select a one second timeout, which should allow time for 
zero-logical time multiple messages to get out.
Maybe you could try it (I just uploaded it to the svn at 
http://pure-data.svn.sourceforge.net/viewvc/pure-data/trunk/externals/mrpeach/net/) 
and see if anything changes.


Martin




More information about the Pd-list mailing list