| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent a663f7f commit ad2089e
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -111,6 +111,7 @@ const kHandle = Symbol('kHandle'); | |||
| 111 | 111 | const kFd = Symbol('kFd'); | |
| 112 | 112 | const kRefs = Symbol('kRefs'); | |
| 113 | 113 | const kClosePromise = Symbol('kClosePromise'); | |
| 114 | + const kCloseReason = Symbol('kCloseReason'); | ||
| 114 | 115 | const kCloseResolve = Symbol('kCloseResolve'); | |
| 115 | 116 | const kCloseReject = Symbol('kCloseReject'); | |
| 116 | 117 | const kRef = Symbol('kRef'); | |
@@ -389,6 +390,7 @@ class FileHandle extends EventEmitter { | |||
| 389 | 390 | ||
| 390 | 391 | const handle = this[kHandle]; | |
| 391 | 392 | this[kFd] = -1; | |
| 393 | + this[kCloseReason] = 'The FileHandle has been transferred'; | ||
| 392 | 394 | this[kHandle] = null; | |
| 393 | 395 | this[kRefs] = 0; | |
| 394 | 396 | ||
@@ -455,7 +457,7 @@ async function fsCall(fn, handle, ...args) { | |||
| 455 | 457 | ||
| 456 | 458 | if (handle.fd === -1) { | |
| 457 | 459 | // eslint-disable-next-line no-restricted-syntax | |
| 458 | - const err = new Error('file closed'); | ||
| 460 | + const err = new Error(handle[kCloseReason] ?? 'file closed'); | ||
| 459 | 461 | err.code = 'EBADF'; | |
| 460 | 462 | err.syscall = fn.name; | |
| 461 | 463 | throw err; | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -69,6 +69,11 @@ const { once } = require('events'); | |||
| 69 | 69 | assert.strictEqual(fh.fd, -1); | |
| 70 | 70 | ||
| 71 | 71 | port1.postMessage('second message'); | |
| 72 | + await assert.rejects(() => fh.read(), { | ||
| 73 | + code: 'EBADF', | ||
| 74 | + message: 'The FileHandle has been transferred', | ||
| 75 | + syscall: 'read' | ||
| 76 | + }); | ||
| 72 | 77 | })().then(common.mustCall()); | |
| 73 | 78 | ||
| 74 | 79 | (async function() { | |
| Back | FazBrowse Home | New Git URL |
0 commit comments