Skip to content

Commit e04c8a4

Browse files
jasnelltargos
authored andcommitted
fs: propagate abortsignal reason in new AbortSignal constructors
Signed-off-by: James M Snell <[email protected]> PR-URL: #41008 Reviewed-By: Ruben Bridgewater <[email protected]> Reviewed-By: Robert Nagy <[email protected]> Reviewed-By: Benjamin Gruenbaum <[email protected]>
1 parent fa5ac5a commit e04c8a4

File tree

4 files changed

+8
-7
lines changed

4 files changed

+8
-7
lines changed

‎lib/fs.js‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,7 @@ function readFileAfterStat(err, stats){
359359

360360
functioncheckAborted(signal,callback){
361361
if(signal?.aborted){
362-
callback(newAbortError());
362+
callback(newAbortError(undefined,{cause: signal?.reason}));
363363
returntrue;
364364
}
365365
returnfalse;
@@ -2104,7 +2104,7 @@ function lutimesSync(path, atime, mtime){
21042104

21052105
functionwriteAll(fd,isUserFd,buffer,offset,length,signal,callback){
21062106
if(signal?.aborted){
2107-
constabortError=newAbortError();
2107+
constabortError=newAbortError(undefined,{cause: signal?.reason});
21082108
if(isUserFd){
21092109
callback(abortError);
21102110
}else{

‎lib/internal/fs/promises.js‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ async function fsCall(fn, handle, ...args){
324324

325325
functioncheckAborted(signal){
326326
if(signal?.aborted)
327-
thrownewAbortError();
327+
thrownewAbortError(undefined,{cause: signal?.reason});
328328
}
329329

330330
asyncfunctionwriteFileHandle(filehandle,data,signal,encoding){

‎lib/internal/fs/read_file_context.js‎

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,8 @@ class ReadFileContext{
8888
letlength;
8989

9090
if(this.signal?.aborted){
91-
returnthis.close(newAbortError());
91+
returnthis.close(
92+
newAbortError(undefined,{cause: this.signal?.reason}));
9293
}
9394
if(this.size===0){
9495
buffer=Buffer.allocUnsafeSlow(kReadFileUnknownBufferLength);

‎lib/internal/fs/watchers.js‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -317,13 +317,13 @@ async function* watch(filename, options ={}){
317317
}
318318

319319
if(signal?.aborted)
320-
thrownewAbortError();
320+
thrownewAbortError(undefined,{cause: signal?.reason});
321321

322322
consthandle=newFSEvent();
323323
let{ promise, resolve, reject }=createDeferredPromise();
324324
constoncancel=()=>{
325325
handle.close();
326-
reject(newAbortError());
326+
reject(newAbortError(undefined,{cause: signal?.reason}));
327327
};
328328

329329
try{
@@ -362,7 +362,7 @@ async function* watch(filename, options ={}){
362362
yieldawaitpromise;
363363
({ promise, resolve, reject }=createDeferredPromise());
364364
}
365-
thrownewAbortError();
365+
thrownewAbortError(undefined,{cause: signal?.reason});
366366
}finally{
367367
handle.close();
368368
signal?.removeEventListener('abort',oncancel);

0 commit comments

Comments
(0)