Somebody in the thread at some point said: > server - Socket is ready to write > server - Socket is not ready to read > master - Socket is ready to write > master - Socket is ready to read > master - recv - Resource temporarily unavailable(11) > > Hmmm! > It seems to be something to do with using MSG_DONTWAIT with recv(). If you replace this with 0, you receive a 0 byte packet cleanly. Why I have no idea. -Andy