diff --git a/lib/net.js b/lib/net.js index af74ae13ce4..df29bd29085 100644 --- a/lib/net.js +++ b/lib/net.js @@ -183,9 +183,10 @@ Socket.prototype._onTimeout = function() { }; -Socket.prototype.setNoDelay = function() { +Socket.prototype.setNoDelay = function(enable) { + // backwards compatibility: assume true when `enable` is omitted if (this._handle && this._handle.setNoDelay) - this._handle.setNoDelay(); + this._handle.setNoDelay(typeof enable === 'undefined' ? true : !!enable); }; diff --git a/src/tcp_wrap.cc b/src/tcp_wrap.cc index 2e84f3741ab..79535e1e34b 100644 --- a/src/tcp_wrap.cc +++ b/src/tcp_wrap.cc @@ -253,7 +253,8 @@ Handle TCPWrap::SetNoDelay(const Arguments& args) { UNWRAP - int r = uv_tcp_nodelay(&wrap->handle_, 1); + int enable = static_cast(args[0]->BooleanValue()); + int r = uv_tcp_nodelay(&wrap->handle_, enable); if (r) SetErrno(uv_last_error(uv_default_loop()));