mirror of
https://github.com/nodejs/node.git
synced 2024-11-21 10:59:27 +00:00
906db44ccd
* alphabetize require() statements for built-in modules by module name * remove unused function argument `code` in callback * replace common.expectsError() with assert.throws() * remove unneeded line-wrap PR-URL: https://github.com/nodejs/node/pull/25401 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Richard Lau <riclau@uk.ibm.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
30 lines
778 B
JavaScript
30 lines
778 B
JavaScript
'use strict';
|
||
const common = require('../common');
|
||
|
||
const assert = require('assert');
|
||
const fs = require('fs');
|
||
const { Server } = require('net');
|
||
const { Worker, isMainThread, parentPort } = require('worker_threads');
|
||
|
||
if (isMainThread) {
|
||
const w = new Worker(__filename);
|
||
let fd = null;
|
||
w.on('message', common.mustCall((fd_) => {
|
||
assert.strictEqual(typeof fd_, 'number');
|
||
fd = fd_;
|
||
}));
|
||
w.on('exit', common.mustCall(() => {
|
||
if (fd === -1) {
|
||
// This happens when server sockets don’t have file descriptors,
|
||
// i.e. on Windows.
|
||
return;
|
||
}
|
||
assert.throws(() => fs.fstatSync(fd), { code: 'EBADF' });
|
||
}));
|
||
} else {
|
||
const server = new Server();
|
||
server.listen(0);
|
||
parentPort.postMessage(server._handle.fd);
|
||
server.unref();
|
||
}
|