summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRobert Nagy <ronagy@icloud.com>2018-05-24 16:30:35 +0200
committerMyles Borins <mylesborins@google.com>2018-05-24 13:23:57 -0400
commit8ce20aff2dbee80ca2739f37c36999e3906f5f06 (patch)
treec02ae009c5be78b0bc180d238675e0ec05c83670 /lib
parent3f4caec1d1e6f2c75d2339db21920dc349986682 (diff)
downloadandroid-node-v8-8ce20aff2dbee80ca2739f37c36999e3906f5f06.tar.gz
android-node-v8-8ce20aff2dbee80ca2739f37c36999e3906f5f06.tar.bz2
android-node-v8-8ce20aff2dbee80ca2739f37c36999e3906f5f06.zip
http: fix res emit close before user finish
PR-URL: https://github.com/nodejs/node/pull/20941 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Diffstat (limited to 'lib')
-rw-r--r--lib/_http_server.js6
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/_http_server.js b/lib/_http_server.js
index 425ddef6f9..3d5a1f8f62 100644
--- a/lib/_http_server.js
+++ b/lib/_http_server.js
@@ -562,7 +562,7 @@ function resOnFinish(req, res, socket, state, server) {
res.detachSocket(socket);
req.emit('close');
- res.emit('close');
+ process.nextTick(emitCloseNT, res);
if (res._last) {
if (typeof socket.destroySoon === 'function') {
@@ -585,6 +585,10 @@ function resOnFinish(req, res, socket, state, server) {
}
}
+function emitCloseNT(self) {
+ self.emit('close');
+}
+
// The following callback is issued after the headers have been read on a
// new message. In this callback we setup the response object and pass it
// to the user.