@ai-ecoverse/slicc-kernel 1.137.0 → 1.138.1
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 +3 -2
- package/dist/driver-worker.js +2 -10
- package/dist/driver-worker.js.map +2 -2
- package/dist/kernel-worker.js +21 -6
- package/dist/kernel-worker.js.map +2 -2
- package/dist/meta.js.map +1 -1
- package/dist/node-driver-worker.js +2 -10
- package/dist/node-driver-worker.js.map +2 -2
- package/dist/node-process-worker.js +31 -18
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +21 -6
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +31 -18
- package/dist/process-worker.js.map +2 -2
- package/dist/types/fs/notice.d.ts +1 -0
- package/dist/types/fs/opfs.d.ts +1 -0
- package/dist/types/process/wasi/wasi-host.d.ts +1 -0
- package/dist/types/process/wasi/wasi-poll.d.ts +1 -0
- package/dist/types/process/wasi/wasi-signals.d.ts +1 -0
- package/package.json +3 -3
package/dist/process-worker.js
CHANGED
|
@@ -25,11 +25,7 @@ function chain(target) {
|
|
|
25
25
|
function hide(target, names) {
|
|
26
26
|
for (const name2 of names) {
|
|
27
27
|
const holders = chain(target);
|
|
28
|
-
for (const holder of holders)
|
|
29
|
-
if (Object.getOwnPropertyDescriptor(holder, name2)?.configurable) {
|
|
30
|
-
Reflect.deleteProperty(holder, name2);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
28
|
+
for (const holder of holders) Reflect.deleteProperty(holder, name2);
|
|
33
29
|
const kept = holders.slice(1).some((holder) => Object.hasOwn(holder, name2));
|
|
34
30
|
const defined = Reflect.defineProperty(target, name2, {
|
|
35
31
|
value: void 0,
|
|
@@ -45,11 +41,7 @@ function hide(target, names) {
|
|
|
45
41
|
function vacate(target, names) {
|
|
46
42
|
for (const name2 of names) {
|
|
47
43
|
const holders = chain(target);
|
|
48
|
-
for (const holder of holders)
|
|
49
|
-
if (Object.getOwnPropertyDescriptor(holder, name2)?.configurable) {
|
|
50
|
-
Reflect.deleteProperty(holder, name2);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
44
|
+
for (const holder of holders) Reflect.deleteProperty(holder, name2);
|
|
53
45
|
const kept = holders.slice(1).some((holder) => Object.hasOwn(holder, name2));
|
|
54
46
|
const opened2 = Reflect.defineProperty(target, name2, {
|
|
55
47
|
value: void 0,
|
|
@@ -2783,7 +2775,7 @@ var KERNEL_VERSION, OS_RELEASE;
|
|
|
2783
2775
|
var init_version = __esm({
|
|
2784
2776
|
"src/version.ts"() {
|
|
2785
2777
|
"use strict";
|
|
2786
|
-
KERNEL_VERSION = true ? "1.
|
|
2778
|
+
KERNEL_VERSION = true ? "1.138.1" : "0.0.0-dev";
|
|
2787
2779
|
OS_RELEASE = "6.0.0-slicc";
|
|
2788
2780
|
}
|
|
2789
2781
|
});
|
|
@@ -9675,12 +9667,16 @@ function readyEvents(subs, ready) {
|
|
|
9675
9667
|
...nbytesOf(s, ready)
|
|
9676
9668
|
}));
|
|
9677
9669
|
}
|
|
9678
|
-
function selectOnce(deps, read2, write2, timeoutMs2) {
|
|
9670
|
+
function selectOnce(deps, read2, write2, timeoutMs2, mayResume) {
|
|
9679
9671
|
try {
|
|
9680
9672
|
const ready = deps.kernel.call({ op: "fd-select", read: read2, write: write2, timeoutMs: timeoutMs2 });
|
|
9681
9673
|
return { ready, interrupted: false };
|
|
9682
9674
|
} catch (e) {
|
|
9683
|
-
if (
|
|
9675
|
+
if (e.code !== "EINTR") throw e;
|
|
9676
|
+
if (!deps.interruptWakes && mayResume && deps.resumes?.()) {
|
|
9677
|
+
return { ready: { read: [], write: [] }, interrupted: false, resumed: true };
|
|
9678
|
+
}
|
|
9679
|
+
if (!deps.interruptWakes) throw e;
|
|
9684
9680
|
return { ready: { read: [], write: [] }, interrupted: true };
|
|
9685
9681
|
}
|
|
9686
9682
|
}
|
|
@@ -9690,8 +9686,15 @@ function waitEvents(deps, subs, { events, read: read2, write: write2 }, entered)
|
|
|
9690
9686
|
if (events.length > 0 || entered) return 0;
|
|
9691
9687
|
return earliest === Infinity ? -1 : Math.max(0, Math.ceil(earliest - performance.now()));
|
|
9692
9688
|
};
|
|
9693
|
-
for (; ; ) {
|
|
9694
|
-
const { ready, interrupted } = selectOnce(
|
|
9689
|
+
for (let resumes = 0; ; ) {
|
|
9690
|
+
const { ready, interrupted, resumed } = selectOnce(
|
|
9691
|
+
deps,
|
|
9692
|
+
read2,
|
|
9693
|
+
write2,
|
|
9694
|
+
timeout(),
|
|
9695
|
+
resumes++ < RESUMES
|
|
9696
|
+
);
|
|
9697
|
+
if (resumed) continue;
|
|
9695
9698
|
events.push(...readyEvents(subs, ready));
|
|
9696
9699
|
if (interrupted) return true;
|
|
9697
9700
|
if (events.length > 0 || entered || earliest === Infinity) return false;
|
|
@@ -9718,10 +9721,12 @@ function pollOneoff(deps, inPtr, outPtr, nsubs, neventsPtr) {
|
|
|
9718
9721
|
mem.view().setUint32(neventsPtr, events.length, true);
|
|
9719
9722
|
return E.SUCCESS;
|
|
9720
9723
|
}
|
|
9724
|
+
var RESUMES;
|
|
9721
9725
|
var init_wasi_poll = __esm({
|
|
9722
9726
|
"src/process/wasi/wasi-poll.ts"() {
|
|
9723
9727
|
"use strict";
|
|
9724
9728
|
init_wasi_abi();
|
|
9729
|
+
RESUMES = 64;
|
|
9725
9730
|
}
|
|
9726
9731
|
});
|
|
9727
9732
|
|
|
@@ -10918,7 +10923,8 @@ var init_wasi_host = __esm({
|
|
|
10918
10923
|
}
|
|
10919
10924
|
});
|
|
10920
10925
|
}
|
|
10921
|
-
poll(inPtr, outPtr, n, nevents) {
|
|
10926
|
+
poll(inPtr, outPtr, n, nevents, resume = true) {
|
|
10927
|
+
const ran = this.signals?.ran ?? 0;
|
|
10922
10928
|
try {
|
|
10923
10929
|
return pollOneoff(
|
|
10924
10930
|
{
|
|
@@ -10927,7 +10933,8 @@ var init_wasi_host = __esm({
|
|
|
10927
10933
|
kernel: this.o.kernel,
|
|
10928
10934
|
now: (id) => this.now(id),
|
|
10929
10935
|
interruptWakes: this.interruptWakes,
|
|
10930
|
-
entered: this.entered
|
|
10936
|
+
entered: this.entered,
|
|
10937
|
+
...resume ? { resumes: () => this.resumesPoll(ran) } : {}
|
|
10931
10938
|
},
|
|
10932
10939
|
inPtr,
|
|
10933
10940
|
outPtr,
|
|
@@ -10938,13 +10945,17 @@ var init_wasi_host = __esm({
|
|
|
10938
10945
|
this.o.fs.invalidate?.();
|
|
10939
10946
|
}
|
|
10940
10947
|
}
|
|
10948
|
+
resumesPoll(ran) {
|
|
10949
|
+
this.interrupted?.();
|
|
10950
|
+
return (this.signals?.ran ?? 0) === ran;
|
|
10951
|
+
}
|
|
10941
10952
|
maskedPoll(mask, set, [inPtr, outPtr, n, nevents]) {
|
|
10942
10953
|
const old = mask.swap(set[0], set[1]);
|
|
10943
10954
|
try {
|
|
10944
10955
|
this.mem.view().setUint32(nevents, 0, true);
|
|
10945
10956
|
if (mask.deliverUnblocked()) return E.INTR;
|
|
10946
10957
|
this.settleEntry(mask);
|
|
10947
|
-
if (n > 0) return this.poll(inPtr, outPtr, n, nevents);
|
|
10958
|
+
if (n > 0) return this.poll(inPtr, outPtr, n, nevents, false);
|
|
10948
10959
|
return this.entered ? E.INTR : this.suspend();
|
|
10949
10960
|
} finally {
|
|
10950
10961
|
mask.deliverUnblocked();
|
|
@@ -12897,7 +12908,9 @@ var init_wasi_signals = __esm({
|
|
|
12897
12908
|
this.deferred &= ~bit;
|
|
12898
12909
|
this.raise(sig);
|
|
12899
12910
|
}
|
|
12911
|
+
ran = 0;
|
|
12900
12912
|
run(handler, sig) {
|
|
12913
|
+
this.ran++;
|
|
12901
12914
|
const outer = { sig: this.delivering, defaulted: this.defaulted, libc: this.libcDefault };
|
|
12902
12915
|
this.delivering = sig;
|
|
12903
12916
|
this.defaulted = false;
|