The problem is that, as soon as we don't manage to transmit a message in it's entirety, the sender and receiver are out of sync on message boundaries.  The only way to get back in sync is to drop the connection.

Is there a way to recover from EINTR or EMSGSIZE that still gets the message transmitted entirely?