From 2b47fd2eb615511ee1f2f29d496cd817e54740e1 Mon Sep 17 00:00:00 2001 From: Fedor Indutny Date: Sun, 1 Mar 2015 00:46:43 +0300 Subject: stream_base: `.writev()` has limited support Only TCP and JSStream do support `.writev()` on all platforms at the moment. Ensure that it won't be enabled everywhere. Fix: https://github.com/iojs/io.js/issues/995 PR-URL: https://github.com/iojs/io.js/pull/1008 Reviewed-by: Bert Belder Reviewed-By: Rod Vagg --- src/stream_base-inl.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/stream_base-inl.h') diff --git a/src/stream_base-inl.h b/src/stream_base-inl.h index 2167bdeb13..490909456b 100644 --- a/src/stream_base-inl.h +++ b/src/stream_base-inl.h @@ -21,7 +21,9 @@ using v8::String; using v8::Value; template -void StreamBase::AddMethods(Environment* env, Handle t) { +void StreamBase::AddMethods(Environment* env, + Handle t, + int flags) { HandleScope scope(env->isolate()); enum PropertyAttribute attributes = @@ -36,7 +38,8 @@ void StreamBase::AddMethods(Environment* env, Handle t) { env->SetProtoMethod(t, "readStart", JSMethod); env->SetProtoMethod(t, "readStop", JSMethod); env->SetProtoMethod(t, "shutdown", JSMethod); - env->SetProtoMethod(t, "writev", JSMethod); + if ((flags & kFlagHasWritev) != 0) + env->SetProtoMethod(t, "writev", JSMethod); env->SetProtoMethod(t, "writeBuffer", JSMethod); -- cgit v1.2.3