docs: function (path){
    events.EventEmitter.call (this);
    
    this._path = path;
    this._fd = null;
    this._cb = false;
    
    var me = this;
    this._q = dq ().on ("error", function (error){
      //Forward the queue error event to the reader error's event
      if (!me._fd){
        me._q = null;
        return me.emit ("error", error);
      }
      fs.close (me._fd, function (){
        //The close error is ignored
        me._fd = null;
        me._q = null;
        me.emit ("error", error);
      });
    });
  }