diff options
author | jlvivero <josluivivgar@gmail.com> | 2017-09-28 11:21:58 -0700 |
---|---|---|
committer | Ruben Bridgewater <ruben@bridgewater.de> | 2017-10-01 23:37:15 -0300 |
commit | 34dbc9e4e8725d5ff28be918a2cb608ff0668e16 (patch) | |
tree | 2c4e566672894cb01be0f4c800728806d11fe645 /lib | |
parent | 5dd65839a918e06aed3a16abe2e2392742e6c15b (diff) | |
download | android-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.js | 3 |
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; } |