| 'use strict'; | |
| const common = require('../common'); | |
| const { Worker } = require('worker_threads'); | |
| // This used to crash because the `.unref()` was unexpected while the Worker | |
| // was exiting. | |
| const w = new Worker(` | |
| require('worker_threads').parentPort.postMessage({}); | |
| `, { eval: true }); | |
| w.on('message', common.mustCall(() => { | |
| w.unref(); | |
| })); | |
| // Wait a bit so that the 'message' event is emitted while the Worker exits. | |
| Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 100); |