handle EINTR