Use non-blocking read