%PDF- <> %âãÏÓ endobj 2 0 obj <> endobj 3 0 obj <>/ExtGState<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI] >>/Annots[ 28 0 R 29 0 R] /MediaBox[ 0 0 595.5 842.25] /Contents 4 0 R/Group<>/Tabs/S>> endobj ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<>endobj 2 0 obj<> endobj 2 0 obj<>endobj 2 0 obj<>es 3 0 R>> endobj 2 0 obj<> ox[ 0.000000 0.000000 609.600000 935.600000]/Fi endobj 3 0 obj<> endobj 7 1 obj<>/ProcSet[/PDF/Text/ImageB/ImageC/ImageI]>>/Subtype/Form>> stream
// Flags: --expose-gc --no-warnings 'use strict'; // Test that a runtime warning is emitted when a FileHandle object // is allowed to close on garbage collection. In the future, this // test should verify that closing on garbage collection throws a // process fatal exception. const common = require('../common'); const assert = require('assert'); const { promises: fs } = require('fs'); const warning = 'Closing a FileHandle object on garbage collection is deprecated. ' + 'Please close FileHandle objects explicitly using ' + 'FileHandle.prototype.close(). In the future, an error will be ' + 'thrown if a file descriptor is closed during garbage collection.'; async function doOpen() { const fh = await fs.open(__filename); common.expectWarning({ Warning: [[`Closing file descriptor ${fh.fd} on garbage collection`]], DeprecationWarning: [[warning, 'DEP0137']] }); return fh; } doOpen().then(common.mustCall((fd) => { assert.strictEqual(typeof fd, 'object'); })).then(common.mustCall(() => { setImmediate(() => { // The FileHandle should be out-of-scope and no longer accessed now. global.gc(); // Wait an extra event loop turn, as the warning is emitted from the // native layer in an unref()'ed setImmediate() callback. setImmediate(common.mustCall()); }); }));