@ai-ecoverse/slicc-kernel 1.26.5 → 1.26.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/README.md +1 -1
- package/dist/kernel-worker.js +2 -1
- package/dist/kernel-worker.js.map +2 -2
- package/dist/node-process-worker.js +8 -1
- 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 +8 -1
- package/dist/process-worker.js.map +3 -3
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -307,7 +307,7 @@ An exec'd program takes over the pid of the process it replaces, as on Linux: `g
|
|
|
307
307
|
|
|
308
308
|
### `/proc`
|
|
309
309
|
|
|
310
|
-
Every process of the kernel has `/proc/<pid>/` with `cmdline`, `comm`, `stat`, `statm` and `status`, in the formats procps reads, and `/proc/self
|
|
310
|
+
Every process of the kernel has `/proc/<pid>/` with `cmdline`, `comm`, `stat`, `statm` and `status`, in the formats procps reads, and `/proc/self` is a link to the `/proc/<pid>` of the process that reads it, as on Linux (`readlink /proc/self` is its pid, the one it was exec'd under included). They come from the kernel's process table when they are opened, so a terminal sees the processes of every client; an exec'd program shows under the pid its parent knows. `/proc/uptime`, `/proc/loadavg`, `/proc/stat` and `/proc/meminfo` are there too, and `/proc/mounts`. A process with no parent in the kernel (one a page, a client or the Node entry started) has parent 1, as children of init do, in `getppid()`, `/proc/<pid>/stat` and `ps` alike. Pids, parents, process groups, sessions, command lines, terminals, start and boot times are real, and so is each process's memory: the size of its wasm memory (`VSZ` and `RSS` alike, as wasm has no paging), which `/proc/meminfo` counts as used. CPU times, load and `MemTotal` (from `navigator.deviceMemory`, else 4 GiB) are placeholders. Only Emscripten processes see this `/proc`.
|
|
311
311
|
|
|
312
312
|
While OPFS has no `/etc/passwd`, `/etc/group` or `/etc/mtab`, reading them gets per-process ones: root is uid 0 and the realm user, uid 1000, is named after `USER`, or `web_user` (Emscripten's default) without one, so it matches `$USER`, with `HOME` as its home, so `id`, `whoami`, `ls -l` and `ps` show names. Nothing is written to OPFS, and a real file there wins.
|
|
313
313
|
|
package/dist/kernel-worker.js
CHANGED
|
@@ -9241,6 +9241,7 @@ var ENV_REFERENCE = /\$\{([A-Za-z_][A-Za-z0-9_]*)\}/g;
|
|
|
9241
9241
|
var WASM_MAGIC = [0, 97, 115, 109];
|
|
9242
9242
|
var SHEBANG_MAX = 256;
|
|
9243
9243
|
var NOT_FOUND = 127;
|
|
9244
|
+
var INIT_PID = 1;
|
|
9244
9245
|
var SHARED_DIRS = ["/tmp", "/home"];
|
|
9245
9246
|
var encoder3 = new TextEncoder();
|
|
9246
9247
|
function baseName(path) {
|
|
@@ -9601,7 +9602,7 @@ var Launcher = class {
|
|
|
9601
9602
|
};
|
|
9602
9603
|
const shown = (pid) => {
|
|
9603
9604
|
const member = pid === void 0 ? void 0 : members.get(pid);
|
|
9604
|
-
return member ? rootOf(member).pid :
|
|
9605
|
+
return member ? rootOf(member).pid : INIT_PID;
|
|
9605
9606
|
};
|
|
9606
9607
|
const listed = [];
|
|
9607
9608
|
for (const member of members.values()) {
|