1'use strict'; 2const common = require('../common'); 3const { MessageChannel } = require('worker_threads'); 4 5// Make sure that .start() and .stop() do not throw on closing/closed 6// MessagePorts. 7// Refs: https://github.com/nodejs/node/issues/26463 8 9function dummy() {} 10 11{ 12 const { port1, port2 } = new MessageChannel(); 13 port1.close(common.mustCall(() => { 14 port1.on('message', dummy); 15 port1.off('message', dummy); 16 port2.on('message', dummy); 17 port2.off('message', dummy); 18 })); 19 port1.on('message', dummy); 20 port1.off('message', dummy); 21 port2.on('message', dummy); 22 port2.off('message', dummy); 23} 24 25{ 26 const { port1 } = new MessageChannel(); 27 port1.on('message', dummy); 28 port1.close(common.mustCall(() => { 29 port1.off('message', dummy); 30 })); 31} 32