catch EAGAIN, return an empty string