Skip to content
Permalink
Browse files

net: treat ENOTCONN at shutdown as success

While it is not entirely clear why this condition is being
triggered, it does resolve a reported bug.

Fixes: #26315

PR-URL: #29912
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
  • Loading branch information
addaleax committed Oct 10, 2019
1 parent d9174b4 commit da583010540d44fcfde28639eb0aa07799b7fa97
Showing with 3 additions and 2 deletions.
  1. +3 −2 lib/net.js
@@ -39,7 +39,8 @@ const {
const assert = require('internal/assert');
const {
UV_EADDRINUSE,
UV_EINVAL
UV_EINVAL,
UV_ENOTCONN
} = internalBinding('uv');

const { Buffer } = require('buffer');
@@ -403,7 +404,7 @@ Socket.prototype._final = function(cb) {
req.callback = cb;
const 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'));

0 comments on commit da58301

Please sign in to comment.
You can’t perform that action at this time.