読者です 読者をやめる 読者になる 読者になる

EventEmitterでのDomain対応

イベントの伝播の仕組みのほうはEventEmitterのemitそのものに組み込まれています。

// events.js (v0.10.18)
EventEmitter.prototype.emit = function(type) {
  //(省略)
  if (type === 'error') {
    if (!this._events.error || (typeof this._events.error === 'object' &&
         !this._events.error.length)) {
      er = arguments[1];
      if (this.domain) {
        if (!er) er = new TypeError('Uncaught, unspecified "error" event.');
        er.domainEmitter = this;
        er.domain = this.domain;
        er.domainThrown = false;
        this.domain.emit('error', er); // <-ココ!
      } else if (er instanceof Error) {
        throw er; // Unhandled 'error' event
      } else {
        throw TypeError('Uncaught, unspecified "error" event.');
      }
      return false;
    }

 //(省略)

EventEmitterで'error'イベントがemitされると自分で'error'イベントリスナを張ってなければ、次にドメインが設定されてるかを見て、設定されていればそちらにイベントを投げ変える仕組みになってます。
前提となるEventEmitterへのドメイン設定は、コンストラクタ呼び出し時にグローバルなドメイン利用フラグが立ってると、require('domain)を遅延ロードした上でアクティブなドメインを設定保持します。