@ai-ecoverse/slicc-kernel 1.146.5 → 1.146.6
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/kernel-worker.js +29 -12
- package/dist/kernel-worker.js.map +3 -3
- package/dist/node-process-worker.js +4 -2
- package/dist/node-process-worker.js.map +2 -2
- package/dist/node.js +29 -12
- package/dist/node.js.map +3 -3
- package/dist/process-worker.js +4 -2
- package/dist/process-worker.js.map +2 -2
- package/dist/types/kernel/process.d.ts +2 -0
- package/dist/types/process/kernel-streams.d.ts +1 -0
- package/package.json +3 -3
package/dist/kernel-worker.js
CHANGED
|
@@ -7774,7 +7774,7 @@ function satisfies(version, range2) {
|
|
|
7774
7774
|
}
|
|
7775
7775
|
|
|
7776
7776
|
// src/version.ts
|
|
7777
|
-
var KERNEL_VERSION = true ? "1.146.
|
|
7777
|
+
var KERNEL_VERSION = true ? "1.146.6" : "0.0.0-dev";
|
|
7778
7778
|
var OS_RELEASE = "6.0.0-slicc";
|
|
7779
7779
|
function procVersion() {
|
|
7780
7780
|
return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
|
|
@@ -23877,15 +23877,7 @@ var WasmProcess = class {
|
|
|
23877
23877
|
}
|
|
23878
23878
|
});
|
|
23879
23879
|
} else {
|
|
23880
|
-
await this.
|
|
23881
|
-
() => this.openPath(req, marked),
|
|
23882
|
-
async (at) => {
|
|
23883
|
-
await this.stillOpen(at, req.handle);
|
|
23884
|
-
return nodes.identify(at);
|
|
23885
|
-
},
|
|
23886
|
-
(id2, at) => this.fds.installAt(fd, this.openVfsFile({ ...open2, path: at }, id2, fs)),
|
|
23887
|
-
{ at: path, gen }
|
|
23888
|
-
);
|
|
23880
|
+
await this.openExisting(req, marked, fd, open2, fs, { at: path, gen });
|
|
23889
23881
|
}
|
|
23890
23882
|
if (req.existing && !await present3(fs, path, true)) {
|
|
23891
23883
|
throw new KernelError("ENOENT");
|
|
@@ -23945,7 +23937,22 @@ var WasmProcess = class {
|
|
|
23945
23937
|
const inherited2 = req.orphan || req.contents !== void 0 || req.handle !== void 0;
|
|
23946
23938
|
if (guard2?.links === void 0 || !noLinks || inherited2 || req.pin !== void 0)
|
|
23947
23939
|
return void 0;
|
|
23948
|
-
|
|
23940
|
+
const follow2 = !req.exclusive && req.nofollow !== true;
|
|
23941
|
+
return (await walk(guard2.fs, this.cred, req.path, follow2, guard2.links)).path;
|
|
23942
|
+
}
|
|
23943
|
+
async openExisting(req, marked, fd, open2, fs, first) {
|
|
23944
|
+
const nodes = this.nodes;
|
|
23945
|
+
const own = unfollowed(req);
|
|
23946
|
+
await this.unmissed(
|
|
23947
|
+
this.openPath.bind(this, req, marked),
|
|
23948
|
+
async (at) => {
|
|
23949
|
+
if (own) await notLink(this.options.fs, at);
|
|
23950
|
+
await this.stillOpen(at, req.handle);
|
|
23951
|
+
return nodes.identify(at);
|
|
23952
|
+
},
|
|
23953
|
+
(id2, at) => this.fds.installAt(fd, this.openVfsFile({ ...open2, path: at }, id2, fs)),
|
|
23954
|
+
first
|
|
23955
|
+
);
|
|
23949
23956
|
}
|
|
23950
23957
|
async openPath(req, marked) {
|
|
23951
23958
|
const nodes = this.nodes;
|
|
@@ -23953,6 +23960,7 @@ var WasmProcess = class {
|
|
|
23953
23960
|
if (req.exclusive) return nodes.entryKey(marked ?? req.path);
|
|
23954
23961
|
if (marked !== void 0) return marked;
|
|
23955
23962
|
if (req.create) return nodes.targetKey(req.path);
|
|
23963
|
+
if (unfollowed(req)) return nodes.entryKey(req.path);
|
|
23956
23964
|
return this.keptOr(await nodes.targetKey(req.path), req.handle);
|
|
23957
23965
|
}
|
|
23958
23966
|
async mayOpen(req) {
|
|
@@ -24248,7 +24256,9 @@ var WasmProcess = class {
|
|
|
24248
24256
|
given = void 0;
|
|
24249
24257
|
await r?.settled(at);
|
|
24250
24258
|
const found = await look(at);
|
|
24251
|
-
if (!r || !r.missed(at) && !r.changedSince(at, gen)
|
|
24259
|
+
if (!r || !r.missed(at) && !r.changedSince(at, gen) && !r.inFlight?.(at)) {
|
|
24260
|
+
return make(found, at);
|
|
24261
|
+
}
|
|
24252
24262
|
}
|
|
24253
24263
|
}
|
|
24254
24264
|
async stillOpen(at, handle) {
|
|
@@ -24776,6 +24786,13 @@ var WasmProcess = class {
|
|
|
24776
24786
|
await this.options.http?.closeAll();
|
|
24777
24787
|
}
|
|
24778
24788
|
};
|
|
24789
|
+
function unfollowed(req) {
|
|
24790
|
+
return req.nofollow === true && req.handle === void 0;
|
|
24791
|
+
}
|
|
24792
|
+
async function notLink(fs, path) {
|
|
24793
|
+
const st = await fs.lstat?.(path);
|
|
24794
|
+
if (st?.isSymbolicLink) throw new KernelError("ELOOP");
|
|
24795
|
+
}
|
|
24779
24796
|
|
|
24780
24797
|
// src/kernel/protocol.ts
|
|
24781
24798
|
var WASM_PROCESS_INIT = "wasm-process-init";
|