anchor.diff:      } else {
         openFuture = new Future.value(_File._openStdioSync(0));
       }
  +    _readInProgress = true;
       openFuture
         .then((RandomAccessFile opened) {
           _openedFile = opened;
  
positive.code:         _readInProgress = false;
          if (!_unsubscribed) {
            _controller.addError(new RangeError("Bad end position: $_end"));
            _closeFile().then((_) { _controller.close(); });
            _unsubscribed = true;
          }
          return;
  
negative.code:           return opened.setPosition(_position);
          }
        })
        .whenComplete(() {
          _readInProgress = false;
        })
        .then((_) => _readBlock())
        .catchError((e) {
          _controller.addError(e);
          _closeFile();
        });
    }
  
  