@ai-ecoverse/slicc-kernel 1.164.2 → 1.164.3
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 +1 -0
- package/dist/kernel-worker.js +1 -1
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +33 -13
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +1 -1
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +33 -13
- package/dist/process-worker.js.map +3 -3
- package/dist/types/fs/changes.d.ts +2 -0
- package/dist/types/process/wasi/wasi-fds.d.ts +1 -0
- package/package.json +1 -1
|
@@ -338,6 +338,9 @@ var init_wasi_abi = __esm({
|
|
|
338
338
|
});
|
|
339
339
|
|
|
340
340
|
// src/fs/changes.ts
|
|
341
|
+
function renameWait(view) {
|
|
342
|
+
return view.foreign() ? RENAME_WAIT_SHARED_MS : RENAME_WAIT_MS;
|
|
343
|
+
}
|
|
341
344
|
function changeHash(path) {
|
|
342
345
|
let h = 2166136261;
|
|
343
346
|
for (let i = 0; i < path.length; i++) {
|
|
@@ -355,7 +358,7 @@ function normal(path) {
|
|
|
355
358
|
}
|
|
356
359
|
return `/${parts.join("/")}`;
|
|
357
360
|
}
|
|
358
|
-
var GEN, RING, RING_SIZE, SLOT, SHARED_TTL_MS, RENAME_WAIT_MS, DIRTY, FOREIGN, RENAMES, CHANGES_BYTES, ChangeView;
|
|
361
|
+
var GEN, RING, RING_SIZE, SLOT, SHARED_TTL_MS, RENAME_WAIT_MS, RENAME_WAIT_SHARED_MS, DIRTY, FOREIGN, RENAMES, CHANGES_BYTES, ChangeView;
|
|
359
362
|
var init_changes = __esm({
|
|
360
363
|
"src/fs/changes.ts"() {
|
|
361
364
|
"use strict";
|
|
@@ -366,6 +369,7 @@ var init_changes = __esm({
|
|
|
366
369
|
SLOT = 2;
|
|
367
370
|
SHARED_TTL_MS = 100;
|
|
368
371
|
RENAME_WAIT_MS = 100;
|
|
372
|
+
RENAME_WAIT_SHARED_MS = 1e3;
|
|
369
373
|
DIRTY = RING + RING_SIZE * SLOT;
|
|
370
374
|
FOREIGN = DIRTY + 1;
|
|
371
375
|
RENAMES = FOREIGN + 1;
|
|
@@ -1141,7 +1145,7 @@ function pinnedIo(bridge, handle, rewriting) {
|
|
|
1141
1145
|
} : {}
|
|
1142
1146
|
};
|
|
1143
1147
|
}
|
|
1144
|
-
var WasiError, FileBuffer, LocalFile, MAX_LINKS, MISS_TTL_MS, CACHE_CAP, FS_GEN, CRED_GEN, UMASK, RING2, RING_SIZE2, SLOT2, FD_RING, FD_RING_SIZE, SHARED_IDS_BYTES, StatCache, SEEN_CAP, SeenAt, remember, Fills;
|
|
1148
|
+
var FOLLOW_MS, WasiError, FileBuffer, LocalFile, MAX_LINKS, MISS_TTL_MS, CACHE_CAP, FS_GEN, CRED_GEN, UMASK, RING2, RING_SIZE2, SLOT2, FD_RING, FD_RING_SIZE, SHARED_IDS_BYTES, StatCache, SEEN_CAP, SeenAt, remember, Fills;
|
|
1145
1149
|
var init_wasi_files = __esm({
|
|
1146
1150
|
"src/process/wasi/wasi-files.ts"() {
|
|
1147
1151
|
"use strict";
|
|
@@ -1149,6 +1153,7 @@ var init_wasi_files = __esm({
|
|
|
1149
1153
|
init_changes();
|
|
1150
1154
|
init_ranged();
|
|
1151
1155
|
init_sync_fs_wire();
|
|
1156
|
+
FOLLOW_MS = 2e3;
|
|
1152
1157
|
WasiError = class extends capturedError {
|
|
1153
1158
|
code;
|
|
1154
1159
|
constructor(code2) {
|
|
@@ -1199,11 +1204,14 @@ var init_wasi_files = __esm({
|
|
|
1199
1204
|
return this.where;
|
|
1200
1205
|
}
|
|
1201
1206
|
retried(op) {
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
+
const end = capturedperformance.now() + FOLLOW_MS;
|
|
1208
|
+
for (; ; ) {
|
|
1209
|
+
try {
|
|
1210
|
+
return op();
|
|
1211
|
+
} catch (err) {
|
|
1212
|
+
const gone2 = err.code === "ENOENT";
|
|
1213
|
+
if (!gone2 || capturedperformance.now() > end || !this.moved?.(true)) throw err;
|
|
1214
|
+
}
|
|
1207
1215
|
}
|
|
1208
1216
|
}
|
|
1209
1217
|
set path(path) {
|
|
@@ -3626,15 +3634,27 @@ var init_wasi_fds = __esm({
|
|
|
3626
3634
|
}
|
|
3627
3635
|
followRenames(missing2 = false) {
|
|
3628
3636
|
const view = this.fs.changes;
|
|
3629
|
-
|
|
3630
|
-
|
|
3631
|
-
|
|
3637
|
+
const end = missing2 && view ? capturedperformance.now() + renameWait(view) : 0;
|
|
3638
|
+
const start2 = this.renamesSeen;
|
|
3639
|
+
for (; ; ) {
|
|
3640
|
+
const now = view?.renames() ?? 0;
|
|
3641
|
+
if (now !== this.renamesSeen && this.fs.renames && this.followTo(now)) return true;
|
|
3642
|
+
if (missing2 && this.renamesSeen !== start2) return true;
|
|
3643
|
+
const left = end - capturedperformance.now();
|
|
3644
|
+
if (!view || left <= 0) return false;
|
|
3645
|
+
view.awaitRename(now, left);
|
|
3646
|
+
}
|
|
3647
|
+
}
|
|
3648
|
+
followTo(now) {
|
|
3632
3649
|
const held2 = [...this.buffers].filter(([, b]) => !b.isOrphan()).map(([p]) => p);
|
|
3633
3650
|
if (held2.length === 0) {
|
|
3634
3651
|
this.renamesSeen = now;
|
|
3635
3652
|
return false;
|
|
3636
3653
|
}
|
|
3637
|
-
const { now: seen2, renames } = this.fs.renames(
|
|
3654
|
+
const { now: seen2, renames } = this.fs.renames(
|
|
3655
|
+
this.renamesSeen,
|
|
3656
|
+
held2
|
|
3657
|
+
);
|
|
3638
3658
|
this.renamesSeen = seen2;
|
|
3639
3659
|
for (const [from, to] of renames) this.renamed(from, to, void 0, true);
|
|
3640
3660
|
return renames.length > 0;
|
|
@@ -7365,7 +7385,7 @@ var init_version = __esm({
|
|
|
7365
7385
|
"src/version.ts"() {
|
|
7366
7386
|
"use strict";
|
|
7367
7387
|
init_captured_globals();
|
|
7368
|
-
KERNEL_VERSION = true ? "1.164.
|
|
7388
|
+
KERNEL_VERSION = true ? "1.164.3" : "0.0.0-dev";
|
|
7369
7389
|
OS_RELEASE = "6.0.0-slicc";
|
|
7370
7390
|
}
|
|
7371
7391
|
});
|
|
@@ -9007,7 +9027,7 @@ function renameFollower(Fs, bridgeOf, call3) {
|
|
|
9007
9027
|
const view = bridge.changes;
|
|
9008
9028
|
const since = seen2.get(bridge);
|
|
9009
9029
|
let now = view?.renames() ?? 0;
|
|
9010
|
-
if (missing2 && view && now === since) now = view.awaitRename(now,
|
|
9030
|
+
if (missing2 && view && now === since) now = view.awaitRename(now, renameWait(view));
|
|
9011
9031
|
const ask = bridge.renames?.bind(bridge);
|
|
9012
9032
|
if (since === void 0 || now === since || !ask) return false;
|
|
9013
9033
|
const held2 = [...open].filter((n) => !n.live.orphan && bridgeOf(n) === bridge);
|