diff --git a/lib/net.js b/lib/net.js index 094685af00957a..b682ae7fb7c2ea 100644 --- a/lib/net.js +++ b/lib/net.js @@ -36,7 +36,8 @@ const { const assert = require('assert'); const { UV_EADDRINUSE, - UV_EINVAL + UV_EINVAL, + UV_ENOTCONN } = process.binding('uv'); const { Buffer } = require('buffer'); @@ -357,7 +358,7 @@ Socket.prototype._final = function(cb) { req.callback = cb; var err = this._handle.shutdown(req); - if (err === 1) // synchronous finish + if (err === 1 || err === UV_ENOTCONN) // synchronous finish return afterShutdown.call(req, 0); else if (err !== 0) return this.destroy(errnoException(err, 'shutdown'));