'use strict'; // Flags: --expose-gc // Check that creating a server without listening does not leak resources. const common = require('../common'); if (!common.hasCrypto) { common.skip('missing crypto'); } const { onGC } = require('../common/gc'); const Countdown = require('../common/countdown'); const https = require('https'); const max = 100; // Note that Countdown internally calls common.mustCall, that's why it's not done here. const countdown = new Countdown(max, () => {}); for (let i = 0; i < max; i++) { const server = https.createServer((req, res) => {}); onGC(server, { ongc: countdown.dec.bind(countdown) }); } setImmediate(() => { global.gc(); });