@ai-ecoverse/slicc-kernel 1.147.6 → 1.147.8
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/README.md +2 -2
- package/dist/kernel-worker.js +21 -11
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +51 -30
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +21 -11
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +51 -30
- package/dist/process-worker.js.map +2 -2
- package/dist/types/process/js/js-context.d.ts +1 -0
- package/dist/types/process/js/js-io.d.ts +5 -0
- package/dist/types/process/js/js-sync.d.ts +1 -0
- package/package.json +2 -2
package/dist/node.js
CHANGED
|
@@ -3305,7 +3305,7 @@ function satisfies(version, range2) {
|
|
|
3305
3305
|
}
|
|
3306
3306
|
|
|
3307
3307
|
// src/version.ts
|
|
3308
|
-
var KERNEL_VERSION = true ? "1.147.
|
|
3308
|
+
var KERNEL_VERSION = true ? "1.147.8" : "0.0.0-dev";
|
|
3309
3309
|
var OS_RELEASE = "6.0.0-slicc";
|
|
3310
3310
|
function procVersion() {
|
|
3311
3311
|
return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
|
|
@@ -5539,6 +5539,7 @@ var RealmProxy = class {
|
|
|
5539
5539
|
const stopping = () => socket.close(1001, "the proxy is stopping");
|
|
5540
5540
|
stop.addEventListener("abort", stopping, { once: true });
|
|
5541
5541
|
let guestDone = false;
|
|
5542
|
+
let guestClosed = false;
|
|
5542
5543
|
let closeSent = false;
|
|
5543
5544
|
const outbound2 = (async () => {
|
|
5544
5545
|
for await (const data of socket.messages) {
|
|
@@ -5552,6 +5553,7 @@ var RealmProxy = class {
|
|
|
5552
5553
|
if (guestDone) return;
|
|
5553
5554
|
closeSent = true;
|
|
5554
5555
|
await toGuest(closeFrame(wireCode(closed.code), closed.reason));
|
|
5556
|
+
if (guestClosed) return;
|
|
5555
5557
|
AbortSignal.timeout(this.limits.closeWaitMs).addEventListener("abort", () => done4.abort(), {
|
|
5556
5558
|
once: true
|
|
5557
5559
|
});
|
|
@@ -5566,15 +5568,13 @@ var RealmProxy = class {
|
|
|
5566
5568
|
continue;
|
|
5567
5569
|
}
|
|
5568
5570
|
if (event.kind === "close") {
|
|
5569
|
-
guestDone = true;
|
|
5570
5571
|
if (closeSent) break;
|
|
5572
|
+
guestClosed = true;
|
|
5571
5573
|
const code = wireCode(event.code);
|
|
5572
5574
|
socket.close(code, event.reason);
|
|
5573
|
-
|
|
5574
|
-
|
|
5575
|
-
|
|
5576
|
-
]);
|
|
5577
|
-
await toGuest(closeFrame(wireCode(reply.code), reply.reason));
|
|
5575
|
+
await Promise.race([outbound2, quietly(this.limits.closeWaitMs)]);
|
|
5576
|
+
guestDone = true;
|
|
5577
|
+
if (!closeSent) await toGuest(closeFrame(code, event.reason));
|
|
5578
5578
|
break;
|
|
5579
5579
|
}
|
|
5580
5580
|
while (socket.buffered > SEND_BUFFER && !reading.aborted) await quietly(10);
|
|
@@ -19243,6 +19243,7 @@ function isWasmSyscall(req) {
|
|
|
19243
19243
|
return typeof op === "string" && SYSCALL_OPS.has(op);
|
|
19244
19244
|
}
|
|
19245
19245
|
var MAX_READ = 1024 * 1024;
|
|
19246
|
+
var MAX_PREAD = 16 * 1024 * 1024;
|
|
19246
19247
|
var O_NONBLOCK = 2048;
|
|
19247
19248
|
var WRITE_ACCESS = 3;
|
|
19248
19249
|
var KEYBOARD = /* @__PURE__ */ new Set([SIG.INT, SIG.QUIT, SIG.TSTP]);
|
|
@@ -20189,7 +20190,7 @@ var WasmProcess = class {
|
|
|
20189
20190
|
return {
|
|
20190
20191
|
ok: true,
|
|
20191
20192
|
kind: "bytes",
|
|
20192
|
-
bytes: await file.pread(Math.min(req.max,
|
|
20193
|
+
bytes: await file.pread(Math.min(req.max, MAX_PREAD), req.offset)
|
|
20193
20194
|
};
|
|
20194
20195
|
case "fd-pwrite":
|
|
20195
20196
|
return { ok: true, kind: "json", json: await file.pwrite(req.body, req.offset) };
|
|
@@ -29145,9 +29146,18 @@ var Launcher = class {
|
|
|
29145
29146
|
return id2().then(
|
|
29146
29147
|
(before) => read().then(
|
|
29147
29148
|
(first) => id2().then(
|
|
29148
|
-
(after) =>
|
|
29149
|
-
(
|
|
29150
|
-
|
|
29149
|
+
(after) => {
|
|
29150
|
+
if (after.exeId === before.exeId) return [first, after];
|
|
29151
|
+
const gone = [
|
|
29152
|
+
first,
|
|
29153
|
+
{ exeId: `gone:${crypto.randomUUID()}` }
|
|
29154
|
+
];
|
|
29155
|
+
if (after.exeId === void 0) return gone;
|
|
29156
|
+
return this.reread(target, read).then(
|
|
29157
|
+
(again) => id2().then((last) => [again, last]),
|
|
29158
|
+
() => gone
|
|
29159
|
+
);
|
|
29160
|
+
}
|
|
29151
29161
|
)
|
|
29152
29162
|
)
|
|
29153
29163
|
);
|