summaryrefslogtreecommitdiff
path: root/src/stream_base.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2018-01-10 20:39:05 +0100
committerAnna Henningsen <anna@addaleax.net>2018-01-14 14:41:16 +0100
commit02fef8ad5a6c0e5c1ce0d4b46aa3a762935c981c (patch)
tree05bbd0c47c536bc6abc4a34a214f31ca14be4b0a /src/stream_base.cc
parent20f6aaee7308d5f426de11def6ad9de8848222f5 (diff)
downloadandroid-node-v8-02fef8ad5a6c0e5c1ce0d4b46aa3a762935c981c.tar.gz
android-node-v8-02fef8ad5a6c0e5c1ce0d4b46aa3a762935c981c.tar.bz2
android-node-v8-02fef8ad5a6c0e5c1ce0d4b46aa3a762935c981c.zip
src: use `DoTryWrite()` for not-all-Buffer writev()s too
PR-URL: https://github.com/nodejs/node/pull/18019 Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'src/stream_base.cc')
-rw-r--r--src/stream_base.cc7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/stream_base.cc b/src/stream_base.cc
index ecb5f3dd1b..0fb801ddd5 100644
--- a/src/stream_base.cc
+++ b/src/stream_base.cc
@@ -192,6 +192,13 @@ int StreamBase::Writev(const FunctionCallbackInfo<Value>& args) {
offset += str_size;
bytes += str_size;
}
+
+ err = DoTryWrite(&buf_list, &count);
+ if (err != 0 || count == 0) {
+ req_wrap->Dispatched();
+ req_wrap->Dispose();
+ goto done;
+ }
}
err = DoWrite(req_wrap, buf_list, count, nullptr);