Tolerate lack of MSG_NOSIGNAL. Systems without it will pay a performance penalty - three syscalls instead of one when doing a no-signals send - but that's pretty much unavoidable. If it bothers you, fix your system; MSG_NOSIGNAL is not hard to add.