rescue only Errno::EPIPE, not all Errors
emit "error" in thread