@ai-ecoverse/slicc-kernel 1.26.1 → 1.26.2
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 +17 -6
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +172 -157
- package/dist/node-process-worker.js.map +4 -4
- package/dist/node.js +18 -6
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +172 -157
- package/dist/process-worker.js.map +4 -4
- package/package.json +3 -3
|
@@ -290,6 +290,12 @@ var init_ranged = __esm({
|
|
|
290
290
|
get changed() {
|
|
291
291
|
return this.pages.changed;
|
|
292
292
|
}
|
|
293
|
+
get pinnedVersion() {
|
|
294
|
+
return this.version;
|
|
295
|
+
}
|
|
296
|
+
forget() {
|
|
297
|
+
this.pages.reset(this.pages.length);
|
|
298
|
+
}
|
|
293
299
|
size() {
|
|
294
300
|
return this.pages.length;
|
|
295
301
|
}
|
|
@@ -825,6 +831,17 @@ function flushLiveVfs(Fs, plugin) {
|
|
|
825
831
|
}
|
|
826
832
|
}
|
|
827
833
|
}
|
|
834
|
+
function refresh(s) {
|
|
835
|
+
if (s.dirty || s.orphan) return;
|
|
836
|
+
if (s.ranged?.pinnedVersion !== void 0) {
|
|
837
|
+
s.ranged.forget();
|
|
838
|
+
return;
|
|
839
|
+
}
|
|
840
|
+
s.data = void 0;
|
|
841
|
+
s.ranged = void 0;
|
|
842
|
+
s.len = 0;
|
|
843
|
+
s.loaded = false;
|
|
844
|
+
}
|
|
828
845
|
function invalidateLiveVfs(Fs, plugin) {
|
|
829
846
|
const table = Fs.nameTable ?? [];
|
|
830
847
|
const drop = [];
|
|
@@ -836,12 +853,7 @@ function invalidateLiveVfs(Fs, plugin) {
|
|
|
836
853
|
s.listed = void 0;
|
|
837
854
|
if (s.openCount === 0) {
|
|
838
855
|
if (node !== node.mount.root && !node.mounted) drop.push(node);
|
|
839
|
-
} else
|
|
840
|
-
s.data = void 0;
|
|
841
|
-
s.ranged = void 0;
|
|
842
|
-
s.len = 0;
|
|
843
|
-
s.loaded = false;
|
|
844
|
-
}
|
|
856
|
+
} else refresh(s);
|
|
845
857
|
}
|
|
846
858
|
}
|
|
847
859
|
if (!Fs.hashRemoveNode) return;
|
|
@@ -1330,55 +1342,159 @@ var init_sync_sab_bridge = __esm({
|
|
|
1330
1342
|
}
|
|
1331
1343
|
});
|
|
1332
1344
|
|
|
1345
|
+
// src/process/wasi/wasi-abi.ts
|
|
1346
|
+
function wasiErrnoOf(code2) {
|
|
1347
|
+
if (!code2) return E.IO;
|
|
1348
|
+
const name = code2.startsWith("E") ? code2.slice(1) : code2;
|
|
1349
|
+
if (name === "OPNOTSUPP") return E.NOTSUP;
|
|
1350
|
+
if (name === "WOULDBLOCK") return E.AGAIN;
|
|
1351
|
+
if (name === "NOMEDIUM") return E.NODEV;
|
|
1352
|
+
return E[name] ?? E.IO;
|
|
1353
|
+
}
|
|
1354
|
+
var E, FILETYPE, RIGHTS, OFLAGS, FDFLAGS, LOOKUP_SYMLINK_FOLLOW, WHENCE, CLOCK, FSTFLAGS, EVENTTYPE, SUBCLOCK_ABSTIME, EVENT_FD_READWRITE_HANGUP, RIFLAGS, SDFLAGS, PREOPENTYPE_DIR, SIZE, WASI_SIGNAL_TO_POSIX;
|
|
1355
|
+
var init_wasi_abi = __esm({
|
|
1356
|
+
"src/process/wasi/wasi-abi.ts"() {
|
|
1357
|
+
"use strict";
|
|
1358
|
+
E = {
|
|
1359
|
+
SUCCESS: 0,
|
|
1360
|
+
"2BIG": 1,
|
|
1361
|
+
ACCES: 2,
|
|
1362
|
+
ADDRINUSE: 3,
|
|
1363
|
+
ADDRNOTAVAIL: 4,
|
|
1364
|
+
AFNOSUPPORT: 5,
|
|
1365
|
+
AGAIN: 6,
|
|
1366
|
+
ALREADY: 7,
|
|
1367
|
+
BADF: 8,
|
|
1368
|
+
BADMSG: 9,
|
|
1369
|
+
BUSY: 10,
|
|
1370
|
+
CANCELED: 11,
|
|
1371
|
+
CHILD: 12,
|
|
1372
|
+
CONNABORTED: 13,
|
|
1373
|
+
CONNREFUSED: 14,
|
|
1374
|
+
CONNRESET: 15,
|
|
1375
|
+
DEADLK: 16,
|
|
1376
|
+
DESTADDRREQ: 17,
|
|
1377
|
+
DOM: 18,
|
|
1378
|
+
DQUOT: 19,
|
|
1379
|
+
EXIST: 20,
|
|
1380
|
+
FAULT: 21,
|
|
1381
|
+
FBIG: 22,
|
|
1382
|
+
HOSTUNREACH: 23,
|
|
1383
|
+
IDRM: 24,
|
|
1384
|
+
ILSEQ: 25,
|
|
1385
|
+
INPROGRESS: 26,
|
|
1386
|
+
INTR: 27,
|
|
1387
|
+
INVAL: 28,
|
|
1388
|
+
IO: 29,
|
|
1389
|
+
ISCONN: 30,
|
|
1390
|
+
ISDIR: 31,
|
|
1391
|
+
LOOP: 32,
|
|
1392
|
+
MFILE: 33,
|
|
1393
|
+
MLINK: 34,
|
|
1394
|
+
MSGSIZE: 35,
|
|
1395
|
+
MULTIHOP: 36,
|
|
1396
|
+
NAMETOOLONG: 37,
|
|
1397
|
+
NETDOWN: 38,
|
|
1398
|
+
NETRESET: 39,
|
|
1399
|
+
NETUNREACH: 40,
|
|
1400
|
+
NFILE: 41,
|
|
1401
|
+
NOBUFS: 42,
|
|
1402
|
+
NODEV: 43,
|
|
1403
|
+
NOENT: 44,
|
|
1404
|
+
NOEXEC: 45,
|
|
1405
|
+
NOLCK: 46,
|
|
1406
|
+
NOLINK: 47,
|
|
1407
|
+
NOMEM: 48,
|
|
1408
|
+
NOMSG: 49,
|
|
1409
|
+
NOPROTOOPT: 50,
|
|
1410
|
+
NOSPC: 51,
|
|
1411
|
+
NOSYS: 52,
|
|
1412
|
+
NOTCONN: 53,
|
|
1413
|
+
NOTDIR: 54,
|
|
1414
|
+
NOTEMPTY: 55,
|
|
1415
|
+
NOTRECOVERABLE: 56,
|
|
1416
|
+
NOTSOCK: 57,
|
|
1417
|
+
NOTSUP: 58,
|
|
1418
|
+
NOTTY: 59,
|
|
1419
|
+
NXIO: 60,
|
|
1420
|
+
OVERFLOW: 61,
|
|
1421
|
+
OWNERDEAD: 62,
|
|
1422
|
+
PERM: 63,
|
|
1423
|
+
PIPE: 64,
|
|
1424
|
+
PROTO: 65,
|
|
1425
|
+
PROTONOSUPPORT: 66,
|
|
1426
|
+
PROTOTYPE: 67,
|
|
1427
|
+
RANGE: 68,
|
|
1428
|
+
ROFS: 69,
|
|
1429
|
+
SPIPE: 70,
|
|
1430
|
+
SRCH: 71,
|
|
1431
|
+
STALE: 72,
|
|
1432
|
+
TIMEDOUT: 73,
|
|
1433
|
+
TXTBSY: 74,
|
|
1434
|
+
XDEV: 75,
|
|
1435
|
+
NOTCAPABLE: 76
|
|
1436
|
+
};
|
|
1437
|
+
FILETYPE = {
|
|
1438
|
+
UNKNOWN: 0,
|
|
1439
|
+
BLOCK_DEVICE: 1,
|
|
1440
|
+
CHARACTER_DEVICE: 2,
|
|
1441
|
+
DIRECTORY: 3,
|
|
1442
|
+
REGULAR_FILE: 4,
|
|
1443
|
+
SOCKET_DGRAM: 5,
|
|
1444
|
+
SOCKET_STREAM: 6,
|
|
1445
|
+
SYMBOLIC_LINK: 7
|
|
1446
|
+
};
|
|
1447
|
+
RIGHTS = {
|
|
1448
|
+
FD_DATASYNC: 1n << 0n,
|
|
1449
|
+
FD_READ: 1n << 1n,
|
|
1450
|
+
FD_SEEK: 1n << 2n,
|
|
1451
|
+
FD_FDSTAT_SET_FLAGS: 1n << 3n,
|
|
1452
|
+
FD_SYNC: 1n << 4n,
|
|
1453
|
+
FD_TELL: 1n << 5n,
|
|
1454
|
+
FD_WRITE: 1n << 6n,
|
|
1455
|
+
ALL: (1n << 30n) - 1n
|
|
1456
|
+
};
|
|
1457
|
+
OFLAGS = { CREAT: 1, DIRECTORY: 2, EXCL: 4, TRUNC: 8 };
|
|
1458
|
+
FDFLAGS = { APPEND: 1, DSYNC: 2, NONBLOCK: 4, RSYNC: 8, SYNC: 16 };
|
|
1459
|
+
LOOKUP_SYMLINK_FOLLOW = 1;
|
|
1460
|
+
WHENCE = { SET: 0, CUR: 1, END: 2 };
|
|
1461
|
+
CLOCK = { REALTIME: 0, MONOTONIC: 1, PROCESS_CPUTIME: 2, THREAD_CPUTIME: 3 };
|
|
1462
|
+
FSTFLAGS = { ATIM: 1, ATIM_NOW: 2, MTIM: 4, MTIM_NOW: 8 };
|
|
1463
|
+
EVENTTYPE = { CLOCK: 0, FD_READ: 1, FD_WRITE: 2 };
|
|
1464
|
+
SUBCLOCK_ABSTIME = 1;
|
|
1465
|
+
EVENT_FD_READWRITE_HANGUP = 1;
|
|
1466
|
+
RIFLAGS = { PEEK: 1, WAITALL: 2 };
|
|
1467
|
+
SDFLAGS = { RD: 1, WR: 2 };
|
|
1468
|
+
PREOPENTYPE_DIR = 0;
|
|
1469
|
+
SIZE = {
|
|
1470
|
+
FILESTAT: 64,
|
|
1471
|
+
FDSTAT: 24,
|
|
1472
|
+
DIRENT: 24,
|
|
1473
|
+
SUBSCRIPTION: 48,
|
|
1474
|
+
EVENT: 32
|
|
1475
|
+
};
|
|
1476
|
+
WASI_SIGNAL_TO_POSIX = Object.fromEntries(
|
|
1477
|
+
Array.from({ length: 30 }, (_, i) => [i + 1, i + 1 < 16 ? i + 1 : i + 2])
|
|
1478
|
+
);
|
|
1479
|
+
}
|
|
1480
|
+
});
|
|
1481
|
+
|
|
1333
1482
|
// src/process/wasi-errno.ts
|
|
1334
1483
|
function wasiErrno(code2) {
|
|
1335
|
-
return WASI_ERRNO[code2] ??
|
|
1484
|
+
return WASI_ERRNO[code2] ?? E.IO;
|
|
1336
1485
|
}
|
|
1337
|
-
var WASI_ERRNO
|
|
1486
|
+
var WASI_ERRNO;
|
|
1338
1487
|
var init_wasi_errno = __esm({
|
|
1339
1488
|
"src/process/wasi-errno.ts"() {
|
|
1340
1489
|
"use strict";
|
|
1490
|
+
init_wasi_abi();
|
|
1341
1491
|
WASI_ERRNO = {
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
EAFNOSUPPORT: 5,
|
|
1346
|
-
EAGAIN: 6,
|
|
1347
|
-
ECONNREFUSED: 14,
|
|
1348
|
-
EEXIST: 20,
|
|
1349
|
-
EINPROGRESS: 26,
|
|
1350
|
-
EISCONN: 30,
|
|
1351
|
-
ENETUNREACH: 40,
|
|
1352
|
-
ENOTCONN: 53,
|
|
1353
|
-
ENOTSOCK: 57,
|
|
1354
|
-
EPROTONOSUPPORT: 66,
|
|
1492
|
+
...Object.fromEntries(Object.entries(E).map(([name, errno2]) => [`E${name}`, errno2])),
|
|
1493
|
+
EWOULDBLOCK: E.AGAIN,
|
|
1494
|
+
ENOTSUP: 138,
|
|
1355
1495
|
EOPNOTSUPP: 138,
|
|
1356
|
-
EBADF: 8,
|
|
1357
|
-
EBUSY: 10,
|
|
1358
|
-
ECHILD: 12,
|
|
1359
|
-
EFAULT: 21,
|
|
1360
|
-
EINTR: 27,
|
|
1361
|
-
EINVAL: 28,
|
|
1362
|
-
EIO: 29,
|
|
1363
|
-
EMFILE: 33,
|
|
1364
|
-
ENODEV: 43,
|
|
1365
|
-
ENOENT: 44,
|
|
1366
|
-
ENOEXEC: 45,
|
|
1367
|
-
ENOSYS: 52,
|
|
1368
|
-
ENOTDIR: 54,
|
|
1369
|
-
ENOTTY: 59,
|
|
1370
|
-
ENXIO: 60,
|
|
1371
|
-
EPERM: 63,
|
|
1372
|
-
EPIPE: 64,
|
|
1373
|
-
ESPIPE: 70,
|
|
1374
|
-
ESRCH: 71,
|
|
1375
|
-
ETIMEDOUT: 73,
|
|
1376
|
-
EFBIG: 22,
|
|
1377
|
-
ENOSPC: 51,
|
|
1378
|
-
EROFS: 69,
|
|
1379
1496
|
ENOMEDIUM: 148
|
|
1380
1497
|
};
|
|
1381
|
-
EIO2 = 29;
|
|
1382
1498
|
}
|
|
1383
1499
|
});
|
|
1384
1500
|
|
|
@@ -2465,6 +2581,7 @@ function isVfsFile(Fs, stream) {
|
|
|
2465
2581
|
function orphanContents(stream) {
|
|
2466
2582
|
const live = stream.node.live;
|
|
2467
2583
|
if (!live?.orphan) return void 0;
|
|
2584
|
+
if (live.ranged) return live.ranged.read(0, live.ranged.size());
|
|
2468
2585
|
return live.data?.slice(0, live.len ?? live.data.length) ?? new Uint8Array(0);
|
|
2469
2586
|
}
|
|
2470
2587
|
function vfsPromoter(Fs, sys, streams, livePath) {
|
|
@@ -2474,11 +2591,14 @@ function vfsPromoter(Fs, sys, streams, livePath) {
|
|
|
2474
2591
|
let kfd = promoted.get(stream.shared);
|
|
2475
2592
|
if (kfd === void 0) {
|
|
2476
2593
|
const contents = orphanContents(stream);
|
|
2594
|
+
const ranged = stream.node.live?.ranged;
|
|
2595
|
+
const version = ranged?.pinnedVersion;
|
|
2596
|
+
const pin = ranged && version !== void 0 ? { version, size: ranged.size() } : void 0;
|
|
2477
2597
|
kfd = sys.openVfs(
|
|
2478
2598
|
livePath(stream),
|
|
2479
2599
|
stream.flags,
|
|
2480
2600
|
stream.position,
|
|
2481
|
-
contents !== void 0 ? { contents, orphan: true } : void 0
|
|
2601
|
+
contents !== void 0 ? { contents, orphan: true } : pin ? { pin } : void 0
|
|
2482
2602
|
);
|
|
2483
2603
|
promoted.set(stream.shared, kfd);
|
|
2484
2604
|
}
|
|
@@ -3262,7 +3382,8 @@ function kernelSys(transport) {
|
|
|
3262
3382
|
...opts?.contents !== void 0 ? { contents: opts.contents } : {},
|
|
3263
3383
|
...opts?.orphan ? { orphan: true } : {},
|
|
3264
3384
|
...opts?.truncate ? { truncate: true } : {},
|
|
3265
|
-
...opts?.create ? { create: true } : {}
|
|
3385
|
+
...opts?.create ? { create: true } : {},
|
|
3386
|
+
...opts?.pin ? { pin: opts.pin } : {}
|
|
3266
3387
|
},
|
|
3267
3388
|
`fd-open-vfs ${path}`
|
|
3268
3389
|
)
|
|
@@ -3840,6 +3961,9 @@ var init_wasi_files = __esm({
|
|
|
3840
3961
|
get isRanged() {
|
|
3841
3962
|
return this.ranged !== void 0;
|
|
3842
3963
|
}
|
|
3964
|
+
get pin() {
|
|
3965
|
+
return this.ranged?.pinnedVersion;
|
|
3966
|
+
}
|
|
3843
3967
|
keep() {
|
|
3844
3968
|
if (this.ranged) this.ranged.pin();
|
|
3845
3969
|
else this.load();
|
|
@@ -3970,116 +4094,6 @@ var init_wasi_files = __esm({
|
|
|
3970
4094
|
}
|
|
3971
4095
|
});
|
|
3972
4096
|
|
|
3973
|
-
// src/process/wasi/wasi-abi.ts
|
|
3974
|
-
function wasiErrnoOf(code2) {
|
|
3975
|
-
if (!code2) return E.IO;
|
|
3976
|
-
const name = code2.startsWith("E") ? code2.slice(1) : code2;
|
|
3977
|
-
if (name === "OPNOTSUPP") return E.NOTSUP;
|
|
3978
|
-
if (name === "WOULDBLOCK") return E.AGAIN;
|
|
3979
|
-
if (name === "NOMEDIUM") return E.NODEV;
|
|
3980
|
-
return E[name] ?? E.IO;
|
|
3981
|
-
}
|
|
3982
|
-
var E, FILETYPE, RIGHTS, OFLAGS, FDFLAGS, LOOKUP_SYMLINK_FOLLOW, WHENCE, CLOCK, FSTFLAGS, EVENTTYPE, SUBCLOCK_ABSTIME, EVENT_FD_READWRITE_HANGUP, RIFLAGS, SDFLAGS, PREOPENTYPE_DIR, SIZE, WASI_SIGNAL_TO_POSIX;
|
|
3983
|
-
var init_wasi_abi = __esm({
|
|
3984
|
-
"src/process/wasi/wasi-abi.ts"() {
|
|
3985
|
-
"use strict";
|
|
3986
|
-
E = {
|
|
3987
|
-
SUCCESS: 0,
|
|
3988
|
-
"2BIG": 1,
|
|
3989
|
-
ACCES: 2,
|
|
3990
|
-
ADDRINUSE: 3,
|
|
3991
|
-
ADDRNOTAVAIL: 4,
|
|
3992
|
-
AFNOSUPPORT: 5,
|
|
3993
|
-
AGAIN: 6,
|
|
3994
|
-
ALREADY: 7,
|
|
3995
|
-
BADF: 8,
|
|
3996
|
-
BUSY: 10,
|
|
3997
|
-
CHILD: 12,
|
|
3998
|
-
CONNREFUSED: 14,
|
|
3999
|
-
CONNRESET: 15,
|
|
4000
|
-
NODEV: 43,
|
|
4001
|
-
EXIST: 20,
|
|
4002
|
-
FAULT: 21,
|
|
4003
|
-
FBIG: 22,
|
|
4004
|
-
INPROGRESS: 26,
|
|
4005
|
-
INTR: 27,
|
|
4006
|
-
INVAL: 28,
|
|
4007
|
-
IO: 29,
|
|
4008
|
-
ISCONN: 30,
|
|
4009
|
-
ISDIR: 31,
|
|
4010
|
-
LOOP: 32,
|
|
4011
|
-
MFILE: 33,
|
|
4012
|
-
NAMETOOLONG: 37,
|
|
4013
|
-
NETUNREACH: 40,
|
|
4014
|
-
NOENT: 44,
|
|
4015
|
-
NOEXEC: 45,
|
|
4016
|
-
NOMEM: 48,
|
|
4017
|
-
NOSPC: 51,
|
|
4018
|
-
NOSYS: 52,
|
|
4019
|
-
NOTCONN: 53,
|
|
4020
|
-
NOTDIR: 54,
|
|
4021
|
-
NOTEMPTY: 55,
|
|
4022
|
-
NOTSOCK: 57,
|
|
4023
|
-
NOTSUP: 58,
|
|
4024
|
-
NOTTY: 59,
|
|
4025
|
-
NXIO: 60,
|
|
4026
|
-
PERM: 63,
|
|
4027
|
-
PIPE: 64,
|
|
4028
|
-
PROTONOSUPPORT: 66,
|
|
4029
|
-
RANGE: 68,
|
|
4030
|
-
ROFS: 69,
|
|
4031
|
-
SPIPE: 70,
|
|
4032
|
-
SRCH: 71,
|
|
4033
|
-
STALE: 72,
|
|
4034
|
-
TIMEDOUT: 73,
|
|
4035
|
-
XDEV: 75,
|
|
4036
|
-
NOTCAPABLE: 76
|
|
4037
|
-
};
|
|
4038
|
-
FILETYPE = {
|
|
4039
|
-
UNKNOWN: 0,
|
|
4040
|
-
BLOCK_DEVICE: 1,
|
|
4041
|
-
CHARACTER_DEVICE: 2,
|
|
4042
|
-
DIRECTORY: 3,
|
|
4043
|
-
REGULAR_FILE: 4,
|
|
4044
|
-
SOCKET_DGRAM: 5,
|
|
4045
|
-
SOCKET_STREAM: 6,
|
|
4046
|
-
SYMBOLIC_LINK: 7
|
|
4047
|
-
};
|
|
4048
|
-
RIGHTS = {
|
|
4049
|
-
FD_DATASYNC: 1n << 0n,
|
|
4050
|
-
FD_READ: 1n << 1n,
|
|
4051
|
-
FD_SEEK: 1n << 2n,
|
|
4052
|
-
FD_FDSTAT_SET_FLAGS: 1n << 3n,
|
|
4053
|
-
FD_SYNC: 1n << 4n,
|
|
4054
|
-
FD_TELL: 1n << 5n,
|
|
4055
|
-
FD_WRITE: 1n << 6n,
|
|
4056
|
-
ALL: (1n << 30n) - 1n
|
|
4057
|
-
};
|
|
4058
|
-
OFLAGS = { CREAT: 1, DIRECTORY: 2, EXCL: 4, TRUNC: 8 };
|
|
4059
|
-
FDFLAGS = { APPEND: 1, DSYNC: 2, NONBLOCK: 4, RSYNC: 8, SYNC: 16 };
|
|
4060
|
-
LOOKUP_SYMLINK_FOLLOW = 1;
|
|
4061
|
-
WHENCE = { SET: 0, CUR: 1, END: 2 };
|
|
4062
|
-
CLOCK = { REALTIME: 0, MONOTONIC: 1, PROCESS_CPUTIME: 2, THREAD_CPUTIME: 3 };
|
|
4063
|
-
FSTFLAGS = { ATIM: 1, ATIM_NOW: 2, MTIM: 4, MTIM_NOW: 8 };
|
|
4064
|
-
EVENTTYPE = { CLOCK: 0, FD_READ: 1, FD_WRITE: 2 };
|
|
4065
|
-
SUBCLOCK_ABSTIME = 1;
|
|
4066
|
-
EVENT_FD_READWRITE_HANGUP = 1;
|
|
4067
|
-
RIFLAGS = { PEEK: 1, WAITALL: 2 };
|
|
4068
|
-
SDFLAGS = { RD: 1, WR: 2 };
|
|
4069
|
-
PREOPENTYPE_DIR = 0;
|
|
4070
|
-
SIZE = {
|
|
4071
|
-
FILESTAT: 64,
|
|
4072
|
-
FDSTAT: 24,
|
|
4073
|
-
DIRENT: 24,
|
|
4074
|
-
SUBSCRIPTION: 48,
|
|
4075
|
-
EVENT: 32
|
|
4076
|
-
};
|
|
4077
|
-
WASI_SIGNAL_TO_POSIX = Object.fromEntries(
|
|
4078
|
-
Array.from({ length: 30 }, (_, i) => [i + 1, i + 1 < 16 ? i + 1 : i + 2])
|
|
4079
|
-
);
|
|
4080
|
-
}
|
|
4081
|
-
});
|
|
4082
|
-
|
|
4083
4097
|
// src/process/wasi/wasi-fds.ts
|
|
4084
4098
|
function stdioAlias(path) {
|
|
4085
4099
|
const m = /^\/dev\/(?:(stdin)|(stdout)|(stderr)|fd\/(\d+))$/.exec(path);
|
|
@@ -4139,6 +4153,7 @@ function promoteRequest(fd, f, handed) {
|
|
|
4139
4153
|
position: f.offset,
|
|
4140
4154
|
...joins ? {} : { contents: f.buffer.contents() },
|
|
4141
4155
|
...orphan ? { orphan: true } : {},
|
|
4156
|
+
...!orphan && f.buffer.pin !== void 0 ? { pin: { version: f.buffer.pin, size: f.buffer.size() } } : {},
|
|
4142
4157
|
...!joins && f.buffer.isDirty() ? { dirty: true } : {}
|
|
4143
4158
|
};
|
|
4144
4159
|
}
|