| 'use strict'; |
| const common = require('../common'); |
| const { Resolver } = require('dns'); |
| const dgram = require('dgram'); |
| const { Worker, isMainThread } = require('worker_threads'); |
| |
| // Test that Workers can terminate while DNS queries are outstanding. |
| |
| if (isMainThread) { |
| return new Worker(__filename); |
| } |
| |
| const socket = dgram.createSocket('udp4'); |
| |
| socket.bind(0, common.mustCall(() => { |
| const resolver = new Resolver(); |
| resolver.setServers([`127.0.0.1:${socket.address().port}`]); |
| resolver.resolve4('example.org', common.mustNotCall()); |
| })); |
| |
| socket.on('message', common.mustCall(() => { |
| process.exit(); |
| })); |