From 5c378d04ce755293843a50fba66ea43e4b1cd569 Mon Sep 17 00:00:00 2001 From: Jack Frain Date: Thu, 12 Dec 2024 15:08:54 -0500 Subject: [PATCH] feat(loader): on drive error, send halt to CU --- dev-cli/container/src/aolibc/aostdio.c | 6 +++++- loader/src/formats/wasm64-emscripten.cjs | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/dev-cli/container/src/aolibc/aostdio.c b/dev-cli/container/src/aolibc/aostdio.c index 87f0a8be0..f711ecd3f 100644 --- a/dev-cli/container/src/aolibc/aostdio.c +++ b/dev-cli/container/src/aolibc/aostdio.c @@ -23,7 +23,11 @@ EM_ASYNC_JS(int, weavedrive_open, (const char* c_filename, const char* mode), { } const drive = Module.WeaveDrive(Module, FS); - return await drive.open(filename); + const driveResponse = await drive.open(filename); + if (typeof driveResponse === 'string') { + throw new Error('HALT: FILE NOT FOUND') + } + return driveResponse; }); EM_ASYNC_JS(int, weavedrive_read, (int fd, int *dst_ptr, size_t length), { diff --git a/loader/src/formats/wasm64-emscripten.cjs b/loader/src/formats/wasm64-emscripten.cjs index f30f533f0..59008a458 100644 --- a/loader/src/formats/wasm64-emscripten.cjs +++ b/loader/src/formats/wasm64-emscripten.cjs @@ -674,7 +674,11 @@ function __asyncjs__weavedrive_open(c_filename, mode) { return Promise.resolve(null); } const drive = Module.WeaveDrive(Module, FS); - return await drive.open(filename); + const driveResponse = await drive.open(filename); + if (typeof driveResponse === 'string') { + throw new Error('HALT: FILE NOT FOUND') + } + return driveResponse }); }