@ai-ecoverse/slicc-kernel 1.124.6 → 1.124.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2610,7 +2610,7 @@ var KERNEL_VERSION, OS_RELEASE;
2610
2610
  var init_version = __esm({
2611
2611
  "src/version.ts"() {
2612
2612
  "use strict";
2613
- KERNEL_VERSION = true ? "1.124.6" : "0.0.0-dev";
2613
+ KERNEL_VERSION = true ? "1.124.7" : "0.0.0-dev";
2614
2614
  OS_RELEASE = "6.0.0-slicc";
2615
2615
  }
2616
2616
  });
@@ -3269,11 +3269,14 @@ function useZeroDevices(Fs) {
3269
3269
  mkdev.call(Fs, path, CHAR_DEVICE, dev);
3270
3270
  }
3271
3271
  }
3272
- function namesFifo(fs, path) {
3272
+ function namesFifo(fs, path, flags) {
3273
3273
  try {
3274
3274
  const { node } = fs.lookupPath?.(path, { follow: true }) ?? { node: { mode: 0 } };
3275
3275
  return (node.mode & S_IFMT_BITS) === S_IFIFO_BITS;
3276
- } catch {
3276
+ } catch (err) {
3277
+ const { errno: errno2, code: code2 } = err ?? {};
3278
+ const errnum = typeof errno2 === "number" ? errno2 : wasiErrno(String(code2));
3279
+ if (REFUSED.has(errnum) && (flags & OWN_ERRORS) === 0) throw err;
3277
3280
  return false;
3278
3281
  }
3279
3282
  }
@@ -3284,7 +3287,7 @@ function useFifoOpens(Fs, attach) {
3284
3287
  if (typeof open !== "function" || typeof fs.lookupPath !== "function") return;
3285
3288
  fs.open = (path, flags, ...rest2) => {
3286
3289
  const truncates = typeof path === "string" && typeof flags === "number" && flags & O_TRUNC2;
3287
- const kept = truncates && namesFifo(fs, path) ? flags & ~O_TRUNC2 : flags;
3290
+ const kept = truncates && namesFifo(fs, path, flags) ? flags & ~O_TRUNC2 : flags;
3288
3291
  return open.call(Fs, path, kept, ...rest2);
3289
3292
  };
3290
3293
  }
@@ -3602,7 +3605,7 @@ function linuxDevices(Fs) {
3602
3605
  }
3603
3606
  }
3604
3607
  }
3605
- var O_CLOEXEC, FD_CLOEXEC, F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_DUPFD_CLOEXEC, tracked, IMPORT_NAMES, EBADF, AT_SYMLINK_NOFOLLOW, EMSCRIPTEN_EPERM, O_PATH2, LITERALS, UTIME_NOW, UTIME_OMIT, PROT_WRITE, MAP_PRIVATE, MAP_TYPE, O_WRONLY2, MAP_ALIGN, DIR_MODE, LINK_MODE, CHAR_DEVICE, O_TRUNC2, S_IFMT_BITS, S_IFIFO_BITS, O_ACCMODE3, O_CREAT, O_EXCL, field, pinnedRoot, rootKind, NAME, AT_FDCWD, AT_EACCESS, W_ACCESS, X_ACCESS, AT_SYMLINK_FOLLOW, UTS_FIELD, DEVICE_MODES;
3608
+ var O_CLOEXEC, FD_CLOEXEC, F_DUPFD, F_GETFD, F_SETFD, F_GETFL, F_DUPFD_CLOEXEC, tracked, IMPORT_NAMES, EBADF, AT_SYMLINK_NOFOLLOW, EMSCRIPTEN_EPERM, O_PATH2, LITERALS, UTIME_NOW, UTIME_OMIT, PROT_WRITE, MAP_PRIVATE, MAP_TYPE, O_WRONLY2, MAP_ALIGN, DIR_MODE, LINK_MODE, CHAR_DEVICE, O_TRUNC2, S_IFMT_BITS, S_IFIFO_BITS, REFUSED, OWN_ERRORS, O_ACCMODE3, O_CREAT, O_EXCL, field, pinnedRoot, rootKind, NAME, AT_FDCWD, AT_EACCESS, W_ACCESS, X_ACCESS, AT_SYMLINK_FOLLOW, UTS_FIELD, DEVICE_MODES;
3606
3609
  var init_process_fds = __esm({
3607
3610
  "src/process/process-fds.ts"() {
3608
3611
  "use strict";
@@ -3664,6 +3667,8 @@ var init_process_fds = __esm({
3664
3667
  O_TRUNC2 = 512;
3665
3668
  S_IFMT_BITS = 61440;
3666
3669
  S_IFIFO_BITS = 4096;
3670
+ REFUSED = /* @__PURE__ */ new Set([wasiErrno("EACCES"), wasiErrno("EPERM")]);
3671
+ OWN_ERRORS = 128 | 131072;
3667
3672
  O_ACCMODE3 = 3;
3668
3673
  O_CREAT = 64;
3669
3674
  O_EXCL = 128;