main loop: hide EINTR errors on pipe open