WORKAROUND: added check_read to pipe writes

This is needed for write only bound inproc sockets
which live much longer than their receivers. Otherwise
the delimiter sent from a terminating receiver will
never be caught and the pipe leaks two handles.

See #792