summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorjlvivero <josluivivgar@gmail.com>2017-09-28 11:21:58 -0700
committerRuben Bridgewater <ruben@bridgewater.de>2017-10-01 23:37:15 -0300
commit34dbc9e4e8725d5ff28be918a2cb608ff0668e16 (patch)
tree2c4e566672894cb01be0f4c800728806d11fe645 /lib
parent5dd65839a918e06aed3a16abe2e2392742e6c15b (diff)
downloadandroid-node-v8-34dbc9e4e8725d5ff28be918a2cb608ff0668e16.tar.gz
android-node-v8-34dbc9e4e8725d5ff28be918a2cb608ff0668e16.tar.bz2
android-node-v8-34dbc9e4e8725d5ff28be918a2cb608ff0668e16.zip
stream: fix disparity between buffer and the count
This changes the disparity of bufferedRequestCount and the actual buffer on file _stream_writable.js PR-URL: https://github.com/nodejs/node/pull/15661 Fixes: https://github.com/nodejs/node/issues/6758 Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/_stream_writable.js3
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/_stream_writable.js b/lib/_stream_writable.js
index 3ac4df7ac4..685adf52f7 100644
--- a/lib/_stream_writable.js
+++ b/lib/_stream_writable.js
@@ -503,6 +503,7 @@ function clearBuffer(stream, state) {
corkReq.finish = onCorkedFinish.bind(undefined, corkReq, state);
state.corkedRequestsFree = corkReq;
}
+ state.bufferedRequestCount = 0;
} else {
// Slow case, write chunks one-by-one
while (entry) {
@@ -513,6 +514,7 @@ function clearBuffer(stream, state) {
doWrite(stream, state, false, len, chunk, encoding, cb);
entry = entry.next;
+ state.bufferedRequestCount--;
// if we didn't call the onwrite immediately, then
// it means that we need to wait until it does.
// also, that means that the chunk and cb are currently
@@ -526,7 +528,6 @@ function clearBuffer(stream, state) {
state.lastBufferedRequest = null;
}
- state.bufferedRequestCount = 0;
state.bufferedRequest = entry;
state.bufferProcessing = false;
}