diff --git a/index.js b/index.js index f63a6c1..2451e36 100644 --- a/index.js +++ b/index.js @@ -137,6 +137,13 @@ class Socket extends EventEmitter { this.wrap.pause (this.recvPaused, this.sendPaused); return this; } + + pause (recv, send) { + this.recvPaused = recv; + this.sendPaused = send; + this.wrap.pause (this.recvPaused, this.sendPaused); + return this; + } send (buffer, offset, length, address, beforeCallback, afterCallback) { diff --git a/src/raw.cc b/src/raw.cc index 909c290..8230e92 100644 --- a/src/raw.cc +++ b/src/raw.cc @@ -657,9 +657,10 @@ NAN_METHOD(SocketWrap::Pause) { | (pause_send ? 0 : UV_WRITABLE); if (! socket->deconstructing_ && socket->poll_initialised_) { - uv_poll_stop (socket->poll_watcher_); if (events) uv_poll_start (socket->poll_watcher_, events, IoEvent); + else + uv_poll_stop (socket->poll_watcher_); } info.GetReturnValue().Set(info.This());