mirror of
https://github.com/zebrajr/node.git
synced 2026-01-15 12:15:26 +00:00
dgram: reset bind state before emitting error
This was previously done inconsistently, sometimes before, sometimes after emitting the event. PR-URL: https://github.com/nodejs/node/pull/30210 Fixes: https://github.com/nodejs/node/issues/30209 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
This commit is contained in:
@@ -240,8 +240,8 @@ Socket.prototype.bind = function(port_, address_ /* , callback */) {
|
||||
}, (err) => {
|
||||
// Callback to handle error.
|
||||
const ex = errnoException(err, 'open');
|
||||
this.emit('error', ex);
|
||||
state.bindState = BIND_STATE_UNBOUND;
|
||||
this.emit('error', ex);
|
||||
});
|
||||
return this;
|
||||
}
|
||||
@@ -309,8 +309,8 @@ Socket.prototype.bind = function(port_, address_ /* , callback */) {
|
||||
}, (err) => {
|
||||
// Callback to handle error.
|
||||
const ex = exceptionWithHostPort(err, 'bind', ip, port);
|
||||
this.emit('error', ex);
|
||||
state.bindState = BIND_STATE_UNBOUND;
|
||||
this.emit('error', ex);
|
||||
});
|
||||
} else {
|
||||
if (!state.handle)
|
||||
@@ -319,8 +319,8 @@ Socket.prototype.bind = function(port_, address_ /* , callback */) {
|
||||
const err = state.handle.bind(ip, port || 0, flags);
|
||||
if (err) {
|
||||
const ex = exceptionWithHostPort(err, 'bind', ip, port);
|
||||
this.emit('error', ex);
|
||||
state.bindState = BIND_STATE_UNBOUND;
|
||||
this.emit('error', ex);
|
||||
// Todo: close?
|
||||
return;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user