Hmmm . . .  I think this comment was wrong. I can't see how we block the reader thread, since the two locks are never held during I/O.