Skip to content

Commit

Permalink
net: treat ENOTCONN at shutdown as success
Browse files Browse the repository at this point in the history
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 12, 2019
1 parent aca1c28 commit 1447a79
Showing 1 changed file with 3 additions and 2 deletions.
5 changes: 3 additions & 2 deletions lib/net.js
Expand Up @@ -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');
Expand Down Expand Up @@ -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'));
Expand Down

0 comments on commit 1447a79

Please sign in to comment.