1'use strict'; 2 3// Refs: https://github.com/nodejs/node/issues/34266 4// Failing to close a file should not keep the event loop open. 5 6const common = require('../common'); 7const assert = require('assert'); 8 9const fs = require('fs'); 10 11const debuglog = (arg) => { 12 console.log(new Date().toLocaleString(), arg); 13}; 14 15const tmpdir = require('../common/tmpdir'); 16tmpdir.refresh(); 17 18let openFd; 19 20fs.open(`${tmpdir.path}/dummy`, 'wx+', common.mustCall((err, fd) => { 21 debuglog('fs open() callback'); 22 assert.ifError(err); 23 openFd = fd; 24})); 25debuglog('waiting for callback'); 26 27process.on('beforeExit', common.mustCall(() => { 28 if (openFd) { 29 fs.closeSync(openFd); 30 } 31})); 32