| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 276d1d1 commit 3be5ff9
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -328,6 +328,9 @@ Socket.prototype.bind = function(port_, address_ /* , callback */) { | |||
| 328 | 328 | ||
| 329 | 329 | // Resolve address first | |
| 330 | 330 | state.handle.lookup(address, (err, ip) => { | |
| 331 | + if (!state.handle) | ||
| 332 | + return; // Handle has been closed in the mean time | ||
| 333 | + | ||
| 331 | 334 | if (err) { | |
| 332 | 335 | state.bindState = BIND_STATE_UNBOUND; | |
| 333 | 336 | this.emit('error', err); | |
@@ -356,9 +359,6 @@ Socket.prototype.bind = function(port_, address_ /* , callback */) { | |||
| 356 | 359 | this.emit('error', ex); | |
| 357 | 360 | }); | |
| 358 | 361 | } else { | |
| 359 | - if (!state.handle) | ||
| 360 | - return; // Handle has been closed in the mean time | ||
| 361 | - | ||
| 362 | 362 | const err = state.handle.bind(ip, port || 0, flags); | |
| 363 | 363 | if (err) { | |
| 364 | 364 | const ex = new ExceptionWithHostPort(err, 'bind', ip, port); | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -0,0 +1,19 @@ | |||
| 1 | + 'use strict'; | ||
| 2 | + const common = require('../common'); | ||
| 3 | + const dgram = require('dgram'); | ||
| 4 | + | ||
| 5 | + // Do not emit error event in callback which is called by lookup when socket is closed | ||
| 6 | + const socket = dgram.createSocket({ | ||
| 7 | + type: 'udp4', | ||
| 8 | + lookup: (...args) => { | ||
| 9 | + // Call lookup callback after 1s | ||
| 10 | + setTimeout(() => { | ||
| 11 | + args.at(-1)(new Error('an error')); | ||
| 12 | + }, 1000); | ||
| 13 | + } | ||
| 14 | + }); | ||
| 15 | + | ||
| 16 | + socket.on('error', common.mustNotCall()); | ||
| 17 | + socket.bind(12345, 'localhost'); | ||
| 18 | + // Close the socket before calling DNS lookup callback | ||
| 19 | + socket.close(); | ||
| Back | FazBrowse Home | New Git URL |
0 commit comments