@ai-ecoverse/slicc-kernel 1.132.1 → 1.133.0

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.
package/dist/node.js CHANGED
@@ -7403,7 +7403,7 @@ function satisfies(version, range2) {
7403
7403
  }
7404
7404
 
7405
7405
  // src/version.ts
7406
- var KERNEL_VERSION = true ? "1.132.1" : "0.0.0-dev";
7406
+ var KERNEL_VERSION = true ? "1.133.0" : "0.0.0-dev";
7407
7407
  var OS_RELEASE = "6.0.0-slicc";
7408
7408
  function procVersion() {
7409
7409
  return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
@@ -22485,6 +22485,7 @@ var JS_MAX_THREADS = 256;
22485
22485
  var JS_DEFAULT_THREADS = 16;
22486
22486
  var JS_THREAD_NO_MEMORY = 256;
22487
22487
  var JS_THREAD_CRASHED = 257;
22488
+ var JS_THREAD_OWNED_FDS = 1024;
22488
22489
 
22489
22490
  // src/kernel/js-threads.ts
22490
22491
  var JS_OOM = /out of memory|Array buffer allocation failed|Cannot allocate Wasm memory|could not allocate memory|ERR_WORKER_OUT_OF_MEMORY/i;
@@ -22513,6 +22514,11 @@ function codeOf4(code) {
22513
22514
  function answer(control, message3) {
22514
22515
  control.postMessage(message3);
22515
22516
  }
22517
+ function ownedFds(owned4) {
22518
+ const view2 = new Int32Array(owned4);
22519
+ const n = Math.min(Atomics.load(view2, 0), JS_THREAD_OWNED_FDS);
22520
+ return Array.from(view2.subarray(1, 1 + Math.max(0, n)));
22521
+ }
22516
22522
  var JsThreads = class {
22517
22523
  deps;
22518
22524
  live = /* @__PURE__ */ new Map();
@@ -22540,6 +22546,7 @@ var JsThreads = class {
22540
22546
  const tid = ++this.last;
22541
22547
  const sab = new SharedArrayBuffer(SAB_HEADER_BYTES + SAB_DEFAULT_WINDOW_BYTES);
22542
22548
  const header4 = new Int32Array(sab, 0, SAB_HEADER_I32);
22549
+ const owned4 = new SharedArrayBuffer(4 * (1 + JS_THREAD_OWNED_FDS));
22543
22550
  if (this.frozen) Atomics.store(header4, SAB_I_STOP, 1);
22544
22551
  const worker = this.deps.createWorker();
22545
22552
  const clock = this.deps.clocks.thread(tid + 1, sab);
@@ -22561,6 +22568,9 @@ var JsThreads = class {
22561
22568
  lane.dispose();
22562
22569
  this.deps.clocks.threadEnded(tid + 1);
22563
22570
  worker.terminate();
22571
+ for (const fd of ownedFds(owned4)) {
22572
+ void this.deps.dispatch({ op: "fd-close", fd });
22573
+ }
22564
22574
  answer(control, { exited: code });
22565
22575
  control.close();
22566
22576
  };
@@ -22600,7 +22610,7 @@ var JsThreads = class {
22600
22610
  const init = {
22601
22611
  ...this.deps.init(sab, lane.lane),
22602
22612
  type: JS_THREAD_INIT,
22603
- thread: { tid, port, data: msg.data }
22613
+ thread: { tid, port, data: msg.data, owned: owned4 }
22604
22614
  };
22605
22615
  try {
22606
22616
  worker.postMessage(init, [lane.lane.port, port, ...msg.transfer ?? []]);