code: function emitReadable(stream) {
    var state = stream._readableState;
    state.needReadable = false;
    if (state.emittedReadable)
      return;
  
    state.emittedReadable = true;
    if (state.sync)
      timers.setImmediate(function() {
        emitReadable_(stream);
      });
    else
      emitReadable_(stream);
  }
docs: Don't emit readable right away in sync mode, because this can trigger another read() call => stack overflow.  This way, it might trigger a nextTick recursion warning, but that's not so bad.