Browse Source

tls: handle `error` events with `_tlsError`

Previously `TLSSocket#_emitTLSError` was used as an `error` event
handler. However that function can emit `error` event itself, so it is
not suitable for such use. Luckily the event can be emitted only when
the control is released, so this looping-error can't happen.

Replace the error handler for clarity and correctness.

PR-URL: https://github.com/nodejs/node/pull/8889
Reviewed-By: Franziska Hinkelmann <franziska.hinkelmann@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
v6
Fedor Indutny 8 years ago
parent
commit
d33c4bf97b
  1. 4
      lib/_tls_wrap.js

4
lib/_tls_wrap.js

@ -272,7 +272,7 @@ function TLSSocket(socket, options) {
// Proxy for API compatibility
this.ssl = this._handle;
this.on('error', this._emitTLSError);
this.on('error', this._tlsError);
this._init(socket, wrap);
@ -554,7 +554,7 @@ TLSSocket.prototype._releaseControl = function() {
if (this._controlReleased)
return false;
this._controlReleased = true;
this.removeListener('error', this._emitTLSError);
this.removeListener('error', this._tlsError);
return true;
};

Loading…
Cancel
Save