avoid a tight read loop.