| 'use strict'; |
| const common = require('../common'); |
| const { Worker } = require('worker_threads'); |
| |
| // Checks that terminating in the middle of `process.nextTick()` does not |
| // Crash the process. |
| |
| const w = new Worker(` |
| require('worker_threads').parentPort.postMessage('0'); |
| process.nextTick(() => { |
| while(1); |
| }); |
| `, { eval: true }); |
| |
| // Test deprecation of .terminate() with callback. |
| common.expectWarning( |
| 'DeprecationWarning', |
| 'Passing a callback to worker.terminate() is deprecated. ' + |
| 'It returns a Promise instead.', 'DEP0132'); |
| |
| w.on('message', common.mustCall(() => { |
| setTimeout(() => { |
| w.terminate(common.mustCall()).then(common.mustCall()); |
| }, 1); |
| })); |