@volter/browser-wali 0.1.146 → 0.1.148
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/capabilities.d.ts +1 -1
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +2 -2
- package/dist/capabilities.js.map +1 -1
- package/dist/child-processes.d.ts +1 -1
- package/dist/child-processes.d.ts.map +1 -1
- package/dist/child-processes.js +13 -4
- package/dist/child-processes.js.map +1 -1
- package/dist/filesystem-host.d.ts +1 -0
- package/dist/filesystem-host.d.ts.map +1 -1
- package/dist/filesystem-host.js +36 -9
- package/dist/filesystem-host.js.map +1 -1
- package/dist/filesystem-remote.d.ts.map +1 -1
- package/dist/filesystem-remote.js +9 -1
- package/dist/filesystem-remote.js.map +1 -1
- package/dist/fork-worker.js +7 -0
- package/dist/fork-worker.js.map +1 -1
- package/dist/host-idle.d.ts +2 -1
- package/dist/host-idle.d.ts.map +1 -1
- package/dist/host-idle.js +19 -4
- package/dist/host-idle.js.map +1 -1
- package/dist/jumps.d.ts +68 -0
- package/dist/jumps.d.ts.map +1 -0
- package/dist/jumps.js +216 -0
- package/dist/jumps.js.map +1 -0
- package/dist/memory.d.ts.map +1 -1
- package/dist/memory.js +36 -20
- package/dist/memory.js.map +1 -1
- package/dist/network-protocol.d.ts +4 -0
- package/dist/network-protocol.d.ts.map +1 -1
- package/dist/network-worker.js +49 -11
- package/dist/network-worker.js.map +1 -1
- package/dist/network.d.ts +4 -3
- package/dist/network.d.ts.map +1 -1
- package/dist/network.js +28 -6
- package/dist/network.js.map +1 -1
- package/dist/process-bridge.d.ts +2 -0
- package/dist/process-bridge.d.ts.map +1 -1
- package/dist/process-bridge.js +4 -2
- package/dist/process-bridge.js.map +1 -1
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +72 -11
- package/dist/runtime.js.map +1 -1
- package/dist/signals.d.ts +1 -0
- package/dist/signals.d.ts.map +1 -1
- package/dist/signals.js +9 -1
- package/dist/signals.js.map +1 -1
- package/dist/stdin.d.ts +2 -0
- package/dist/stdin.d.ts.map +1 -1
- package/dist/stdin.js +7 -2
- package/dist/stdin.js.map +1 -1
- package/dist/syscall-trace.d.ts +13 -0
- package/dist/syscall-trace.d.ts.map +1 -0
- package/dist/syscall-trace.js +20 -0
- package/dist/syscall-trace.js.map +1 -0
- package/dist/system.d.ts +3 -3
- package/dist/system.d.ts.map +1 -1
- package/dist/system.js +15 -12
- package/dist/system.js.map +1 -1
- package/dist/thread-coordinator-worker.js +5 -1
- package/dist/thread-coordinator-worker.js.map +1 -1
- package/dist/thread-worker.js +10 -2
- package/dist/thread-worker.js.map +1 -1
- package/dist/threads.d.ts +3 -0
- package/dist/threads.d.ts.map +1 -1
- package/dist/threads.js +9 -1
- package/dist/threads.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/wait-state.d.ts +76 -0
- package/dist/wait-state.d.ts.map +1 -0
- package/dist/wait-state.js +156 -0
- package/dist/wait-state.js.map +1 -0
- package/dist/worker-program-protocol.d.ts +16 -2
- package/dist/worker-program-protocol.d.ts.map +1 -1
- package/dist/worker-program-worker.js +7 -0
- package/dist/worker-program-worker.js.map +1 -1
- package/dist/worker-program.d.ts +5 -1
- package/dist/worker-program.d.ts.map +1 -1
- package/dist/worker-program.js +67 -6
- package/dist/worker-program.js.map +1 -1
- package/package.json +1 -1
package/dist/capabilities.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_pipe" | "SYS_pipe2" | "SYS_close" | "SYS_read" | "SYS_pread64" | "SYS_write" | "SYS_pwrite64" | "SYS_preadv" | "SYS_pwritev" | "SYS_readv" | "SYS_writev" | "SYS_lseek" | "SYS_fstat" | "SYS_dup" | "SYS_dup2" | "SYS_dup3" | "SYS_fcntl" | "SYS_poll" | "SYS_brk" | "SYS_mmap" | "SYS_mprotect" | "SYS_munmap" | "SYS_mremap" | "SYS_madvise" | "SYS_msync" | "SYS_rt_sigaction" | "SYS_rt_sigprocmask" | "SYS_rt_sigpending" | "__init" | "__deinit" | "__proc_exit" | "__cl_get_argc" | "__cl_get_argv_len" | "__cl_copy_argv" | "__get_init_envfile" | "SYS_access" | "SYS_chdir" | "SYS_clock_getres" | "SYS_clock_gettime" | "SYS_clock_nanosleep" | "SYS_epoll_create" | "SYS_epoll_create1" | "SYS_epoll_ctl" | "SYS_epoll_pwait" | "SYS_epoll_wait" | "SYS_eventfd" | "SYS_eventfd2" | "SYS_exit" | "SYS_exit_group" | "SYS_faccessat" | "SYS_faccessat2" | "SYS_fchdir" | "SYS_fdatasync" | "SYS_flock" | "SYS_fsync" | "SYS_ftruncate" | "SYS_getcwd" | "SYS_getdents64" | "SYS_getegid" | "SYS_geteuid" | "SYS_getgid" | "SYS_futex" | "SYS_getpid" | "SYS_getppid" | "SYS_getrandom" | "SYS_getrlimit" | "SYS_getrusage" | "SYS_gettid" | "SYS_gettimeofday" | "SYS_getuid" | "
|
|
1
|
+
export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_pipe" | "SYS_pipe2" | "SYS_close" | "SYS_read" | "SYS_pread64" | "SYS_write" | "SYS_pwrite64" | "SYS_preadv" | "SYS_pwritev" | "SYS_readv" | "SYS_writev" | "SYS_lseek" | "SYS_fstat" | "SYS_dup" | "SYS_dup2" | "SYS_dup3" | "SYS_fcntl" | "SYS_poll" | "SYS_brk" | "SYS_mmap" | "SYS_mprotect" | "SYS_munmap" | "SYS_mremap" | "SYS_madvise" | "SYS_msync" | "setjmp" | "_setjmp" | "sigsetjmp" | "longjmp" | "_longjmp" | "SYS_ioctl" | "SYS_prctl" | "SYS_setsockopt" | "SYS_getsockopt" | "SYS_socket" | "SYS_rt_sigaction" | "SYS_rt_sigprocmask" | "SYS_rt_sigpending" | "__init" | "__deinit" | "__proc_exit" | "__cl_get_argc" | "__cl_get_argv_len" | "__cl_copy_argv" | "__get_init_envfile" | "SYS_access" | "SYS_chdir" | "SYS_clock_getres" | "SYS_clock_gettime" | "SYS_clock_nanosleep" | "SYS_epoll_create" | "SYS_epoll_create1" | "SYS_epoll_ctl" | "SYS_epoll_pwait" | "SYS_epoll_wait" | "SYS_eventfd" | "SYS_eventfd2" | "SYS_exit" | "SYS_exit_group" | "SYS_faccessat" | "SYS_faccessat2" | "SYS_fchdir" | "SYS_fdatasync" | "SYS_flock" | "SYS_fsync" | "SYS_ftruncate" | "SYS_getcwd" | "SYS_getdents64" | "SYS_getegid" | "SYS_geteuid" | "SYS_getgid" | "SYS_futex" | "SYS_getpid" | "SYS_getppid" | "SYS_getrandom" | "SYS_getrlimit" | "SYS_getrusage" | "SYS_gettid" | "SYS_gettimeofday" | "SYS_getuid" | "SYS_lstat" | "SYS_mkdir" | "SYS_mkdirat" | "SYS_nanosleep" | "SYS_newfstatat" | "SYS_open" | "SYS_openat" | "SYS_readlink" | "SYS_readlinkat" | "SYS_symlink" | "SYS_symlinkat" | "SYS_prlimit64" | "SYS_rename" | "SYS_rmdir" | "SYS_sched_getaffinity" | "SYS_sched_setscheduler" | "SYS_sched_yield" | "SYS_set_robust_list" | "SYS_set_tid_address" | "SYS_setrlimit" | "SYS_sigaltstack" | "SYS_stat" | "SYS_sysinfo" | "SYS_umask" | "SYS_uname" | "SYS_unlink" | "SYS_unlinkat" | "SYS_socketpair" | "SYS_tkill" | "__wasm_thread_spawn" | "SYS_timerfd_create" | "SYS_timerfd_settime" | "SYS_browser_spawn" | "SYS_browser_spawn_confined_v1" | "SYS_fork" | "SYS_execve" | "SYS_wait4" | "SYS_pidfd_open" | "SYS_kill" | "SYS_setpgid" | "SYS_getpgid" | "SYS_getsid" | "SYS_chmod" | "SYS_fchmod" | "SYS_fchmodat" | "SYS_utimensat" | "SYS_statfs" | "SYS_fstatfs" | "SYS_inotify_init" | "SYS_inotify_init1" | "SYS_inotify_add_watch" | "SYS_inotify_rm_watch" | "SYS_connect" | "SYS_bind" | "SYS_send" | "SYS_sendto" | "SYS_recv" | "SYS_recvfrom" | "SYS_sendmsg" | "SYS_recvmsg" | "SYS_shutdown" | "SYS_getsockname" | "SYS_getpeername" | "SYS_select" | "SYS_browser_codec_query_v1" | "SYS_browser_codec_open_v1" | "SYS_browser_codec_push_v1" | "SYS_browser_codec_pull_v1" | "SYS_browser_codec_flush_v1" | "SYS_browser_codec_close_v1">;
|
|
2
2
|
export declare function missingWaliImports(importNames: Iterable<string>): string[];
|
|
3
3
|
/**
|
|
4
4
|
* AN UNIMPLEMENTED SYSCALL ANSWERS `-ENOSYS`; THESE FOUR STILL TRAP.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,
|
|
1
|
+
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,yjFAqB1B,CAAC;AAEZ,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAE1E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,eAAO,MAAM,qBAAqB,2EAOvB,CAAC;AAEZ,kEAAkE;AAClE,eAAO,MAAM,WAAW,OAAO,CAAC;AAEhC;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D"}
|
package/dist/capabilities.js
CHANGED
|
@@ -10,13 +10,13 @@ export const WALI_IMPLEMENTED_IMPORTS = new Set([
|
|
|
10
10
|
"SYS_set_robust_list", "SYS_set_tid_address", "SYS_setrlimit", "SYS_sigaltstack", "SYS_stat", "SYS_sysinfo", "SYS_umask", "SYS_uname", "SYS_unlink", "SYS_unlinkat",
|
|
11
11
|
"SYS_socketpair", "SYS_tkill", "SYS_write", "SYS_writev", "__wasm_thread_spawn",
|
|
12
12
|
"SYS_timerfd_create", "SYS_timerfd_settime",
|
|
13
|
-
"SYS_browser_spawn", "SYS_browser_spawn_confined_v1", "SYS_pipe", "SYS_pipe2", "SYS_wait4", "SYS_pidfd_open", "SYS_kill", "SYS_setpgid", "SYS_getpgid", "SYS_getsid",
|
|
13
|
+
"SYS_browser_spawn", "SYS_browser_spawn_confined_v1", "SYS_fork", "SYS_execve", "SYS_pipe", "SYS_pipe2", "SYS_wait4", "SYS_pidfd_open", "SYS_kill", "SYS_setpgid", "SYS_getpgid", "SYS_getsid",
|
|
14
14
|
"SYS_chmod", "SYS_fchmod", "SYS_fchmodat", "SYS_utimensat",
|
|
15
15
|
"SYS_statfs", "SYS_fstatfs", "SYS_inotify_init", "SYS_inotify_init1", "SYS_inotify_add_watch", "SYS_inotify_rm_watch",
|
|
16
16
|
"SYS_socket", "SYS_connect", "SYS_bind", "SYS_send", "SYS_sendto", "SYS_recv", "SYS_recvfrom",
|
|
17
17
|
"SYS_sendmsg", "SYS_recvmsg", "SYS_shutdown", "SYS_setsockopt", "SYS_getsockopt", "SYS_getsockname", "SYS_getpeername",
|
|
18
18
|
"SYS_madvise", "SYS_msync",
|
|
19
|
-
"setjmp", "longjmp", "SYS_select",
|
|
19
|
+
"setjmp", "_setjmp", "sigsetjmp", "longjmp", "_longjmp", "SYS_select",
|
|
20
20
|
"SYS_browser_codec_query_v1", "SYS_browser_codec_open_v1", "SYS_browser_codec_push_v1",
|
|
21
21
|
"SYS_browser_codec_pull_v1", "SYS_browser_codec_flush_v1", "SYS_browser_codec_close_v1",
|
|
22
22
|
]);
|
package/dist/capabilities.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB;IACjH,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IACpJ,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc;IAC5H,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW;IAC1F,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY;IACnJ,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW;IACrK,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe;IAC/T,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,iBAAiB;IAC5L,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc;IACnK,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB;IAC/E,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,+BAA+B,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY;
|
|
1
|
+
{"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB;IACjH,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU;IACpJ,kBAAkB,EAAE,mBAAmB,EAAE,eAAe,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,aAAa,EAAE,cAAc;IAC5H,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,YAAY,EAAE,WAAW;IAC1F,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY;IACnJ,WAAW,EAAE,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW;IACrK,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,YAAY,EAAE,YAAY,EAAE,eAAe,EAAE,gBAAgB,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,cAAc,EAAE,gBAAgB,EAAE,WAAW,EAAE,aAAa,EAAE,eAAe;IAC/T,WAAW,EAAE,eAAe,EAAE,YAAY,EAAE,WAAW,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,iBAAiB;IAC5L,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,iBAAiB,EAAE,UAAU,EAAE,aAAa,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc;IACnK,gBAAgB,EAAE,WAAW,EAAE,WAAW,EAAE,YAAY,EAAE,qBAAqB;IAC/E,oBAAoB,EAAE,qBAAqB;IAC3C,mBAAmB,EAAE,+BAA+B,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY;IAC9L,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe;IAC1D,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,uBAAuB,EAAE,sBAAsB;IACrH,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,cAAc;IAC7F,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,iBAAiB;IACtH,aAAa,EAAE,WAAW;IAC1B,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY;IACrE,4BAA4B,EAAE,2BAA2B,EAAE,2BAA2B;IACtF,2BAA2B,EAAE,4BAA4B,EAAE,4BAA4B;CAC/E,CAAC,CAAC;AAEZ,MAAM,UAAU,kBAAkB,CAAC,WAA6B;IAC9D,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAa,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACzG,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4DG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC;IAC3C,mCAAmC;IACnC,kBAAkB;IAClB,oEAAoE;IACpE,WAAW;IACX,WAAW;IACX,mBAAmB;CACX,CAAC,CAAC;AAEZ,kEAAkE;AAClE,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAG,CAAC;AAEhC;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CAAC,IAAY;IACjD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,GAAG,CAAC,IAAa,CAAC,CAAC;AAC9E,CAAC"}
|
|
@@ -14,7 +14,7 @@ export declare class WaliChildProcesses {
|
|
|
14
14
|
register(pid: number, state: BrowserProcessSharedState): number;
|
|
15
15
|
forget(pid: number): number;
|
|
16
16
|
has(pid: number): boolean;
|
|
17
|
-
wait(pid: number, options: number, destination: BrowserProcessSharedState, interrupted?: () => boolean): Promise<number>;
|
|
17
|
+
wait(pid: number, options: number, destination: BrowserProcessSharedState, interrupted?: () => boolean, parked?: (value: boolean) => void): Promise<number>;
|
|
18
18
|
open(pid: number, flags: number): number;
|
|
19
19
|
owns(fd: number): boolean;
|
|
20
20
|
poll(fd: number, events: number): number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-processes.d.ts","sourceRoot":"","sources":["../src/child-processes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"child-processes.d.ts","sourceRoot":"","sources":["../src/child-processes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAC;AAWrE,4FAA4F;AAC5F,qBAAa,kBAAkB;IAM3B,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAN1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAkC;IAC3D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA8E;IAC1G,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAyB;gBAGhC,UAAU,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,MAAM,EACxC,MAAM,CAAC,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,aAAA;IAGjE,OAAO,CAAC,OAAO;IAEf,8DAA8D;IAC9D,IAAI,IAAI,IAAI;IAEZ,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,yBAAyB,GAAG,MAAM;IAuB/D,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAY3B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAEnB,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,yBAAyB,EAAE,WAAW,GAAE,MAAM,OAAqB,EACvH,MAAM,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAkC/D,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IASxC,IAAI,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAEzB,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAOpD,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM;IAMzB,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAc7D"}
|
package/dist/child-processes.js
CHANGED
|
@@ -1,3 +1,6 @@
|
|
|
1
|
+
const WNOHANG = 1;
|
|
2
|
+
const WUNTRACED = 2;
|
|
3
|
+
const WCONTINUED = 8;
|
|
1
4
|
/** Process-wide child ownership, shared by every guest pthread through the event worker. */
|
|
2
5
|
export class WaliChildProcesses {
|
|
3
6
|
allocateFd;
|
|
@@ -53,8 +56,13 @@ export class WaliChildProcesses {
|
|
|
53
56
|
return 0;
|
|
54
57
|
}
|
|
55
58
|
has(pid) { return this.children.has(pid); }
|
|
56
|
-
async wait(pid, options, destination, interrupted = () => false) {
|
|
57
|
-
|
|
59
|
+
async wait(pid, options, destination, interrupted = () => false, parked = () => { }) {
|
|
60
|
+
// WUNTRACED/WCONTINUED request additional state changes; they do not
|
|
61
|
+
// suppress normal exits. Rejecting them made Bash's job-control waitchld
|
|
62
|
+
// repeatedly receive EINVAL rather than reap or park on its children.
|
|
63
|
+
// Limitation: stop/continue notifications still need process signal state;
|
|
64
|
+
// this table currently receives only final child completions.
|
|
65
|
+
if (pid === 0 || pid < -1 || (options & ~(WNOHANG | WUNTRACED | WCONTINUED)) !== 0)
|
|
58
66
|
return -22;
|
|
59
67
|
for (;;) {
|
|
60
68
|
const candidates = pid === -1 ? [...this.children.entries()]
|
|
@@ -75,13 +83,14 @@ export class WaliChildProcesses {
|
|
|
75
83
|
this.changed();
|
|
76
84
|
return childPid;
|
|
77
85
|
}
|
|
78
|
-
if (options &
|
|
86
|
+
if (options & WNOHANG)
|
|
79
87
|
return 0;
|
|
80
88
|
// a blocked wait4 returns -EINTR for a signal the caller does not block, so its handler runs
|
|
81
89
|
if (interrupted())
|
|
82
90
|
return -4;
|
|
83
91
|
await new Promise((resolve) => {
|
|
84
|
-
const unsubscribe = this.onChange(() => { unsubscribe(); resolve(); });
|
|
92
|
+
const unsubscribe = this.onChange(() => { parked(false); unsubscribe(); resolve(); });
|
|
93
|
+
parked(true);
|
|
85
94
|
});
|
|
86
95
|
}
|
|
87
96
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child-processes.js","sourceRoot":"","sources":["../src/child-processes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"child-processes.js","sourceRoot":"","sources":["../src/child-processes.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ interface ChannelEntry {
|
|
|
4
4
|
control: Int32Array;
|
|
5
5
|
payload: Uint8Array;
|
|
6
6
|
state: ChannelState;
|
|
7
|
+
port: MessagePort;
|
|
7
8
|
}
|
|
8
9
|
/** The program is about to run: the port is read no longer, and the page is told which import it took last. */
|
|
9
10
|
export declare function closeHostPort(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-host.d.ts","sourceRoot":"","sources":["../src/filesystem-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAQ1D,OAAO,EAGL,KAAK,uBAAuB,EAC5B,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;AAkDlC,UAAU,YAAY;IAAG,OAAO,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,UAAU,CAAC;IAAC,KAAK,EAAE,YAAY,CAAA;CAAE;
|
|
1
|
+
{"version":3,"file":"filesystem-host.d.ts","sourceRoot":"","sources":["../src/filesystem-host.ts"],"names":[],"mappings":"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"}
|
package/dist/filesystem-host.js
CHANGED
|
@@ -40,7 +40,7 @@ let inThread = false;
|
|
|
40
40
|
let doorbell;
|
|
41
41
|
let doorbellSeen = 0;
|
|
42
42
|
/** Every channel attached, for the main thread to answer. */
|
|
43
|
-
const channels =
|
|
43
|
+
const channels = new Set();
|
|
44
44
|
/** Requests a blocking lock left unanswered, asked again at every pump. */
|
|
45
45
|
const deferred = new Set();
|
|
46
46
|
/** [0] 1 when an import waits, [1] its length; its JSON after 8 bytes. Growable. */
|
|
@@ -66,7 +66,7 @@ export function resetHost() {
|
|
|
66
66
|
closePort = undefined;
|
|
67
67
|
inThread = false;
|
|
68
68
|
doorbell = undefined;
|
|
69
|
-
channels.
|
|
69
|
+
channels.clear();
|
|
70
70
|
deferred.clear();
|
|
71
71
|
mailbox = undefined;
|
|
72
72
|
publishUpdates = undefined;
|
|
@@ -86,7 +86,7 @@ export function hostInThread(bell) {
|
|
|
86
86
|
/** The host's tree and descriptors for a run, in whichever realm runs it. */
|
|
87
87
|
export async function initializeHost(data) {
|
|
88
88
|
const event = { data };
|
|
89
|
-
channels.
|
|
89
|
+
channels.clear();
|
|
90
90
|
deferred.clear();
|
|
91
91
|
publishUpdates = undefined;
|
|
92
92
|
publishError = undefined;
|
|
@@ -311,12 +311,12 @@ export function attachChannel(channel) {
|
|
|
311
311
|
const control = new Int32Array(channel.control);
|
|
312
312
|
const payload = new Uint8Array(channel.payload);
|
|
313
313
|
const state = { process: channel.process ?? 0 };
|
|
314
|
-
|
|
314
|
+
const entry = { control, payload, state, port: channel.port };
|
|
315
|
+
channels.add(entry);
|
|
315
316
|
if (channel.releasePort) {
|
|
316
317
|
const port = channel.releasePort;
|
|
317
318
|
port.onmessage = () => {
|
|
318
|
-
|
|
319
|
-
processes.delete(state.process);
|
|
319
|
+
releaseProcess(state.process);
|
|
320
320
|
port.postMessage(true);
|
|
321
321
|
port.close();
|
|
322
322
|
};
|
|
@@ -329,6 +329,8 @@ export function attachChannel(channel) {
|
|
|
329
329
|
Atomics.store(table.sharedEntries, fd, entry.description); });
|
|
330
330
|
}
|
|
331
331
|
channel.port.onmessage = (event) => {
|
|
332
|
+
if (!channels.has(entry))
|
|
333
|
+
return;
|
|
332
334
|
if (typeof event.data !== "number" && "kind" in event.data) {
|
|
333
335
|
attachChannel({ ...event.data, process: event.data.process ?? state.process });
|
|
334
336
|
return;
|
|
@@ -343,7 +345,31 @@ export function attachChannel(channel) {
|
|
|
343
345
|
void dispatch(control, payload, state, event.data);
|
|
344
346
|
};
|
|
345
347
|
channel.port.start();
|
|
346
|
-
return
|
|
348
|
+
return entry;
|
|
349
|
+
}
|
|
350
|
+
/** Close ownership, including descriptor caches that capture the process. */
|
|
351
|
+
function releaseProcess(id) {
|
|
352
|
+
const process = processes.get(id);
|
|
353
|
+
try {
|
|
354
|
+
process?.descriptors.descriptors.exit();
|
|
355
|
+
}
|
|
356
|
+
finally {
|
|
357
|
+
// A copied table's memory getter closes over this object. Deleting only
|
|
358
|
+
// the map entry left the child memory alive through ChannelState.handlers.
|
|
359
|
+
if (process)
|
|
360
|
+
delete process.memory;
|
|
361
|
+
processes.delete(id);
|
|
362
|
+
for (const entry of channels) {
|
|
363
|
+
if (entry.state.process !== id)
|
|
364
|
+
continue;
|
|
365
|
+
delete entry.state.handlers;
|
|
366
|
+
delete entry.state.direct;
|
|
367
|
+
deferred.delete(entry);
|
|
368
|
+
channels.delete(entry);
|
|
369
|
+
entry.port.onmessage = null;
|
|
370
|
+
entry.port.close();
|
|
371
|
+
}
|
|
372
|
+
}
|
|
347
373
|
}
|
|
348
374
|
async function dispatch(control, payload, state, requestId) {
|
|
349
375
|
if (Atomics.load(control, 0) !== requestId)
|
|
@@ -430,9 +456,10 @@ function operate(operation, input, state) {
|
|
|
430
456
|
return { process: id };
|
|
431
457
|
}
|
|
432
458
|
if (operation === FilesystemOperation.CloseProcess) {
|
|
433
|
-
descriptors?.descriptors.exit();
|
|
434
459
|
if (state.process !== 0)
|
|
435
|
-
|
|
460
|
+
releaseProcess(state.process);
|
|
461
|
+
else
|
|
462
|
+
descriptors?.descriptors.exit();
|
|
436
463
|
return;
|
|
437
464
|
}
|
|
438
465
|
const path = () => requiredString(input.path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-host.js","sourceRoot":"","sources":["../src/filesystem-host.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem-host.js","sourceRoot":"","sources":["../src/filesystem-host.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-remote.d.ts","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,+CAA+C,CAAC;AAC/F,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGlF,OAAO,EAIL,KAAK,qBAAqB,EAC3B,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"filesystem-remote.d.ts","sourceRoot":"","sources":["../src/filesystem-remote.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { FILESYSTEM_ROOT_PAYLOAD_BYTES, FILESYSTEM_SNAPSHOT_CHUNK_BYTES, Filesys
|
|
|
4
4
|
import { pageWorker } from "@volter/browser-runtime/page-workers.js";
|
|
5
5
|
import { BrowserFileLockClient } from "@volter/browser-runtime/browser-file-locks.js";
|
|
6
6
|
import { inPrivateTreeWindow } from "./private-tree.js";
|
|
7
|
+
import { waliPark } from "./wait-state.js";
|
|
7
8
|
export class WaliFilesystemClient {
|
|
8
9
|
channel;
|
|
9
10
|
control;
|
|
@@ -327,7 +328,14 @@ export class WaliFilesystemClient {
|
|
|
327
328
|
&& Atomics.compareExchange(this.control, 0, requestId, 0) === requestId) {
|
|
328
329
|
throw remoteError(-110);
|
|
329
330
|
}
|
|
330
|
-
|
|
331
|
+
// Ordinary filesystem service is an outside wake source until its
|
|
332
|
+
// owner describes a semantic block. Do not mistake a queued RPC for
|
|
333
|
+
// a closed guest wait, but always publish the guest that parks on it.
|
|
334
|
+
waliPark(this.control, 0, state, {
|
|
335
|
+
resource: `filesystem operation ${operation}`,
|
|
336
|
+
deadline: deadline ?? null,
|
|
337
|
+
outside: [{ source: "filesystem owner servicing or external lock holder" }],
|
|
338
|
+
}, () => Atomics.wait(this.control, 0, state, state === -requestId ? undefined : remaining));
|
|
331
339
|
}
|
|
332
340
|
const result = Atomics.load(this.control, 2);
|
|
333
341
|
const outputLength = Atomics.load(this.control, 4);
|