From: Ryan Dahl <ry@tinyclouds.org>
Date: Fri, 21 Oct 2011 20:07:48 +0000 (-0700)
Subject: Emit 'end' from crypto streams on close
X-Git-Tag: v0.5.10~11
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=de09168e5a3a1d8b18f73d79ea750074aa80e064;p=platform%2Fupstream%2Fnodejs.git

Emit 'end' from crypto streams on close

Fixes test/simple/test-tls-peer-certificate.js on Windows

Patch from bnoordhuis.

See also 75a0cf970fb48440a93a62796ab1f128fcbe7d76
---

diff --git a/lib/tls.js b/lib/tls.js
index 2dd8f16d0..e84d501fc 100644
--- a/lib/tls.js
+++ b/lib/tls.js
@@ -679,6 +679,8 @@ SecurePair.prototype.destroy = function() {
     self.cleartext.writable = self.cleartext.readable = false;
 
     process.nextTick(function() {
+      self.encrypted.emit('end');
+      self.cleartext.emit('end');
       self.encrypted.emit('close');
       self.cleartext.emit('close');
     });
@@ -1025,7 +1027,7 @@ function pipe(pair, socket) {
 
   function onclose() {
     socket.removeListener('error', onerror);
-    socket.removeListener('close', onclose);
+    socket.removeListener('end', onclose);
     socket.removeListener('timeout', ontimeout);
   }