| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
1 parent 8c609be commit e2fb4ca
2 files changed
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
@@ -112,6 +112,7 @@ const kHandle = Symbol('kHandle'); | |||
| 112 | 112 | const kFd = Symbol('kFd'); | |
| 113 | 113 | const kRefs = Symbol('kRefs'); | |
| 114 | 114 | const kClosePromise = Symbol('kClosePromise'); | |
| 115 | + const kCloseReason = Symbol('kCloseReason'); | ||
| 115 | 116 | const kCloseResolve = Symbol('kCloseResolve'); | |
| 116 | 117 | const kCloseReject = Symbol('kCloseReject'); | |
| 117 | 118 | const kRef = Symbol('kRef'); | |
@@ -390,6 +391,7 @@ class FileHandle extends EventEmitter { | |||
| 390 | 391 | ||
| 391 | 392 | const handle = this[kHandle]; | |
| 392 | 393 | this[kFd] = -1; | |
| 394 | + this[kCloseReason] = 'The FileHandle has been transferred'; | ||
| 393 | 395 | this[kHandle] = null; | |
| 394 | 396 | this[kRefs] = 0; | |
| 395 | 397 | ||
@@ -456,7 +458,7 @@ async function fsCall(fn, handle, ...args) { | |||
| 456 | 458 | ||
| 457 | 459 | if (handle.fd === -1) { | |
| 458 | 460 | // eslint-disable-next-line no-restricted-syntax | |
| 459 | - const err = new Error('file closed'); | ||
| 461 | + const err = new Error(handle[kCloseReason] ?? 'file closed'); | ||
| 460 | 462 | err.code = 'EBADF'; | |
| 461 | 463 | err.syscall = fn.name; | |
| 462 | 464 | 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