@ai-ecoverse/slicc-kernel 1.124.8 → 1.124.9
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 +13 -0
- package/dist/kernel-worker.js +2 -1
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +44 -9
- package/dist/node-process-worker.js.map +3 -3
- package/dist/node.js +2 -1
- package/dist/node.js.map +2 -2
- package/dist/process-worker.js +44 -9
- package/dist/process-worker.js.map +3 -3
- package/dist/types/kernel/host.d.ts +3 -2
- package/dist/types/process/wasi/wasi-fds.d.ts +1 -0
- package/dist/types/process/wasi/wasi-procfs.d.ts +1 -0
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -1232,6 +1232,19 @@ A WASIX C program for `test/integration/sig-inherited.test.mjs` (#820), built on
|
|
|
1232
1232
|
|
|
1233
1233
|
**Build:** `WASIX_SYSROOT_33=/path/to/wasix-sysroot ./build.sh`, with `wasixcc` 0.4.7 and binaryen's `wasm-opt` on `PATH`. `bin/inherittest.wasm` is 39,068 bytes, sha256 `c561a52eb27b3c1b6204b997f4eec967b9f4869c6ab13e7915a5a94b326a710e`.
|
|
1234
1234
|
|
|
1235
|
+
### `sigjmptest`
|
|
1236
|
+
|
|
1237
|
+
A WASIX C program for `test/integration/sigjmp.test.mjs` ([#975](https://github.com/ai-ecoverse/slicc-kernel/issues/975), homescoop#1059), built on wasix-sysroot 2025.9.30-35. Each run takes a mode as its only argument:
|
|
1238
|
+
- `term`: a `SIGTERM` handler with `SIGUSR1` in its `sa_mask` sends itself `SIGUSR1`, which must wait until the handler returns: `term-done usr1`.
|
|
1239
|
+
- `longjmp`: `longjmp` out of a `SIGUSR1` handler that has `SIGUSR2` in `sa_mask`. It prints the mask after the jump, then unblocks everything and raises `SIGUSR1` again with a handler that returns.
|
|
1240
|
+
- `lsleep`, `lnanosleep`, `lread`, `lpoll`: the same with a `SIGALRM` that interrupts `sleep`, `nanosleep`, a `read` of an empty pipe, or `poll`. `sleep`, `nanosleep`, `read`, `poll` (no `l`) and `raise` use `sigsetjmp`/`siglongjmp`.
|
|
1241
|
+
- `direct`, `directmask`: `siglongjmp` with no signal at all. `fork` is `raise` in a forked child.
|
|
1242
|
+
- `hold` holds `flock` on `sigjmp.lock` for 3 seconds.
|
|
1243
|
+
|
|
1244
|
+
On -35, `sigsetjmp` is an ordinary libc function rather than the `setjmp` that LLVM's wasm setjmp/longjmp lowering rewrites, so every `siglongjmp` escapes the program (`[object WebAssembly.Exception]`, exit 70), even `direct`. That is homescoop#1059. The rows use plain `longjmp` until the sysroot fixes it.
|
|
1245
|
+
|
|
1246
|
+
**Build:** `WASIX_SYSROOT_35=/path/to/wasix-sysroot ./build.sh`, with `wasixcc` 0.4.7 and binaryen's `wasm-opt` 133 on `PATH`. Asyncify runs with `asyncify-ignore-indirect`, because functions with wasm `try` blocks can't be flattened. `bin/sigjmptest.wasm` is 52,240 bytes, sha256 `9768c2caafa0bcf55e4b9cd2c97a486d46496a275d4e9bd9d5998e163d630fbb`.
|
|
1247
|
+
|
|
1235
1248
|
### `handlertest`
|
|
1236
1249
|
|
|
1237
1250
|
A WASIX C program for `test/integration/handler-defer.test.mjs` (#971), built on wasix-sysroot 2025.9.30-33. Its `SIGTERM` handler counts how often and how deeply it runs. On its first run it sends itself `SIGTERM` again and then writes to stderr. `handlertest` installs it with no flags, and `handlertest nodefer` with `SA_NODEFER`. Either way it prints `the handler ran N times, at most D deep`.
|
package/dist/kernel-worker.js
CHANGED
|
@@ -6625,7 +6625,7 @@ function satisfies(version, range2) {
|
|
|
6625
6625
|
}
|
|
6626
6626
|
|
|
6627
6627
|
// src/version.ts
|
|
6628
|
-
var KERNEL_VERSION = true ? "1.124.
|
|
6628
|
+
var KERNEL_VERSION = true ? "1.124.9" : "0.0.0-dev";
|
|
6629
6629
|
var OS_RELEASE = "6.0.0-slicc";
|
|
6630
6630
|
function procVersion() {
|
|
6631
6631
|
return `Linux version ${OS_RELEASE} (slicc-kernel ${KERNEL_VERSION}) #1 SMP PREEMPT_DYNAMIC
|
|
@@ -20366,6 +20366,7 @@ function threadInit(opts, program, sab, cred, thread, main) {
|
|
|
20366
20366
|
cred: copyCred(cred),
|
|
20367
20367
|
owners: opts.owners === true,
|
|
20368
20368
|
...opts.links !== void 0 ? { links: true } : {},
|
|
20369
|
+
...opts.changes ? { changes: opts.changes } : {},
|
|
20369
20370
|
...opts.ppid !== void 0 ? { ppid: opts.ppid } : {},
|
|
20370
20371
|
thread,
|
|
20371
20372
|
signals: main
|