@volter/browser-wali 0.1.181 → 0.1.183

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.
@@ -1,4 +1,4 @@
1
- export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_close" | "SYS_fcntl" | "SYS_ioctl" | "SYS_pipe" | "SYS_pipe2" | "SYS_ftruncate" | "SYS_fsync" | "SYS_fdatasync" | "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_poll" | "SYS_open" | "SYS_openat" | "SYS_brk" | "SYS_mmap" | "SYS_mprotect" | "SYS_munmap" | "SYS_mremap" | "SYS_madvise" | "SYS_msync" | "setjmp" | "_setjmp" | "sigsetjmp" | "longjmp" | "_longjmp" | "SYS_prctl" | "SYS_setsockopt" | "SYS_getsockopt" | "SYS_socket" | "SYS_rt_sigaction" | "SYS_rt_sigprocmask" | "SYS_rt_sigtimedwait" | "SYS_pause" | "SYS_rt_sigsuspend" | "SYS_rt_sigpending" | "SYS_getresuid" | "SYS_getresgid" | "SYS_getgroups" | "SYS_setuid" | "SYS_setgid" | "SYS_setreuid" | "SYS_setregid" | "SYS_setresuid" | "SYS_setresgid" | "SYS_setfsuid" | "SYS_setfsgid" | "SYS_setgroups" | "__init" | "__deinit" | "__proc_exit" | "__cl_get_argc" | "__cl_get_argv_len" | "__cl_copy_argv" | "__get_init_envfile" | "__cl_get_envc" | "__cl_get_env_len" | "__cl_copy_env" | "SYS_link" | "SYS_linkat" | "SYS_mknod" | "SYS_mknodat" | "SYS_chown" | "SYS_lchown" | "SYS_fchown" | "SYS_fchownat" | "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_flock" | "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_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_setsid" | "SYS_chmod" | "SYS_fchmod" | "SYS_fchmodat" | "SYS_utimensat" | "SYS_renameat" | "SYS_truncate" | "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_pselect6" | "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">;
1
+ export declare const WALI_IMPLEMENTED_IMPORTS: Set<"SYS_close" | "SYS_fcntl" | "SYS_ioctl" | "SYS_pipe" | "SYS_pipe2" | "SYS_ftruncate" | "SYS_fsync" | "SYS_fdatasync" | "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_poll" | "SYS_open" | "SYS_openat" | "SYS_brk" | "SYS_mmap" | "SYS_mprotect" | "SYS_munmap" | "SYS_mremap" | "SYS_madvise" | "SYS_msync" | "setjmp" | "_setjmp" | "sigsetjmp" | "longjmp" | "_longjmp" | "SYS_prctl" | "SYS_setsockopt" | "SYS_getsockopt" | "SYS_socket" | "SYS_rt_sigaction" | "SYS_rt_sigprocmask" | "SYS_rt_sigtimedwait" | "SYS_pause" | "SYS_rt_sigsuspend" | "SYS_rt_sigpending" | "SYS_getresuid" | "SYS_getresgid" | "SYS_getgroups" | "SYS_setuid" | "SYS_setgid" | "SYS_setreuid" | "SYS_setregid" | "SYS_setresuid" | "SYS_setresgid" | "SYS_setfsuid" | "SYS_setfsgid" | "SYS_setgroups" | "__init" | "__deinit" | "__proc_exit" | "__cl_get_argc" | "__cl_get_argv_len" | "__cl_copy_argv" | "__get_init_envfile" | "__cl_get_envc" | "__cl_get_env_len" | "__cl_copy_env" | "SYS_link" | "SYS_linkat" | "SYS_mknod" | "SYS_mknodat" | "SYS_chown" | "SYS_lchown" | "SYS_fchown" | "SYS_fchownat" | "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_flock" | "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_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_timerfd_gettime" | "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_setsid" | "SYS_chmod" | "SYS_fchmod" | "SYS_fchmodat" | "SYS_utimensat" | "SYS_renameat" | "SYS_truncate" | "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_pselect6" | "SYS_ppoll" | "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,qjGA0B1B,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"}
1
+ {"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,wBAAwB,2lGA0B1B,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"}
@@ -14,14 +14,14 @@ export const WALI_IMPLEMENTED_IMPORTS = new Set([
14
14
  "SYS_prctl", "SYS_prlimit64", "SYS_rename", "SYS_rmdir", "SYS_rt_sigaction", "SYS_rt_sigpending", "SYS_rt_sigtimedwait", "SYS_rt_sigprocmask", "SYS_rt_sigsuspend", "SYS_pause", "SYS_sched_getaffinity", "SYS_sched_setscheduler", "SYS_sched_yield",
15
15
  "SYS_set_robust_list", "SYS_set_tid_address", "SYS_setrlimit", "SYS_sigaltstack", "SYS_stat", "SYS_sysinfo", "SYS_umask", "SYS_uname", "SYS_unlink", "SYS_unlinkat",
16
16
  "SYS_socketpair", "SYS_tkill", "SYS_write", "SYS_writev", "__wasm_thread_spawn",
17
- "SYS_timerfd_create", "SYS_timerfd_settime",
17
+ "SYS_timerfd_create", "SYS_timerfd_settime", "SYS_timerfd_gettime",
18
18
  "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", "SYS_setsid",
19
19
  "SYS_chmod", "SYS_fchmod", "SYS_fchmodat", "SYS_utimensat", "SYS_renameat", "SYS_truncate",
20
20
  "SYS_statfs", "SYS_fstatfs", "SYS_inotify_init", "SYS_inotify_init1", "SYS_inotify_add_watch", "SYS_inotify_rm_watch",
21
21
  "SYS_socket", "SYS_connect", "SYS_bind", "SYS_send", "SYS_sendto", "SYS_recv", "SYS_recvfrom",
22
22
  "SYS_sendmsg", "SYS_recvmsg", "SYS_shutdown", "SYS_setsockopt", "SYS_getsockopt", "SYS_getsockname", "SYS_getpeername",
23
23
  "SYS_madvise", "SYS_msync",
24
- "setjmp", "_setjmp", "sigsetjmp", "longjmp", "_longjmp", "SYS_select", "SYS_pselect6",
24
+ "setjmp", "_setjmp", "sigsetjmp", "longjmp", "_longjmp", "SYS_select", "SYS_pselect6", "SYS_ppoll",
25
25
  "SYS_browser_codec_query_v1", "SYS_browser_codec_open_v1", "SYS_browser_codec_push_v1",
26
26
  "SYS_browser_codec_pull_v1", "SYS_browser_codec_flush_v1", "SYS_browser_codec_close_v1",
27
27
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"capabilities.js","sourceRoot":"","sources":["../src/capabilities.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC;IAC9C,eAAe,EAAE,eAAe,EAAE,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc;IAC7G,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc,EAAE,eAAe;IACjF,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,oBAAoB;IACjH,eAAe,EAAE,kBAAkB,EAAE,eAAe;IACpD,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,YAAY,EAAE,cAAc;IACnF,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,qBAAqB,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,WAAW,EAAE,uBAAuB,EAAE,wBAAwB,EAAE,iBAAiB;IACrP,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,EAAE,qBAAqB;IAClE,mBAAmB,EAAE,+BAA+B,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,EAAE,gBAAgB,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY;IAC5M,WAAW,EAAE,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,cAAc,EAAE,cAAc;IAC1F,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,EAAE,cAAc,EAAE,WAAW;IAClG,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"}
package/dist/events.d.ts CHANGED
@@ -21,6 +21,8 @@ export declare class WaliEventHost {
21
21
  private createEventFd;
22
22
  private createTimerFd;
23
23
  private registerTimer;
24
+ /** Linux timerfd_gettime: sample once, leave unread expirations intact. */
25
+ private getTimerFd;
24
26
  private setTimerFd;
25
27
  private updateTimer;
26
28
  private timerRemaining;
@@ -1 +1 @@
1
- {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA8B,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAyCpD,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IANhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAGxC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAChC,WAAW,EAAE,uBAAuB,EACpC,YAAY,CAAC,GAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,aAAA;IAGpF,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAsB5C,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,IAAI;IAEZ,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAmCrB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;CAQvB"}
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,uBAAuB,EAA8B,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAyCpD,qBAAa,aAAa;IAKtB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;IANhC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;IAC3D,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoC;gBAGxC,MAAM,EAAE,MAAM,WAAW,CAAC,MAAM,EAChC,WAAW,EAAE,uBAAuB,EACpC,YAAY,CAAC,GAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,aAAA;IAGpF,OAAO,IAAI,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAuB5C,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,IAAI;IAEZ,OAAO,CAAC,KAAK;IAMb,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,aAAa;IAarB,OAAO,CAAC,YAAY;IA8BpB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,SAAS;IAgBjB,OAAO,CAAC,WAAW;IAcnB,OAAO,CAAC,aAAa;IA4BrB,OAAO,CAAC,aAAa;IAYrB,OAAO,CAAC,aAAa;IAmCrB,2EAA2E;IAC3E,OAAO,CAAC,UAAU;IAWlB,OAAO,CAAC,UAAU;IAuBlB,OAAO,CAAC,WAAW;IAanB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,aAAa;IAKrB,OAAO,CAAC,cAAc;CAQvB"}
package/dist/events.js CHANGED
@@ -41,6 +41,7 @@ export class WaliEventHost {
41
41
  SYS_eventfd: (initial) => this.createEventFd(Number(initial), 0),
42
42
  SYS_eventfd2: (initial, flags) => this.createEventFd(Number(initial), Number(flags)),
43
43
  SYS_timerfd_create: (clockId, flags) => this.createTimerFd(Number(clockId), Number(flags)),
44
+ SYS_timerfd_gettime: (fd, value) => this.getTimerFd(Number(fd), Number(value)),
44
45
  SYS_timerfd_settime: (fd, flags, value, previous) => this.setTimerFd(Number(fd), Number(flags), Number(value), Number(previous)),
45
46
  };
46
47
  }
@@ -254,6 +255,19 @@ export class WaliEventHost {
254
255
  this.timers.set(fd, timer);
255
256
  return fd;
256
257
  }
258
+ /** Linux timerfd_gettime: sample once, leave unread expirations intact. */
259
+ getTimerFd(fd, pointer) {
260
+ const timer = this.timers.get(fd);
261
+ if (!timer)
262
+ return this.descriptors.descriptors.get(fd) ? -EINVAL : -EBADF;
263
+ if (!Number.isSafeInteger(pointer) || pointer <= 0 || pointer + 32 > this.memory().buffer.byteLength)
264
+ return -14n;
265
+ const now = this.nowNanoseconds(timer.clockId);
266
+ this.updateTimer(timer, now);
267
+ this.writeTimespec(pointer, timer.intervalNanoseconds);
268
+ this.writeTimespec(pointer + 16, this.timerRemaining(timer, now));
269
+ return 0n;
270
+ }
257
271
  setTimerFd(fd, flags, valuePointer, previousPointer) {
258
272
  const timer = this.timers.get(fd);
259
273
  if (!timer)
@@ -277,10 +291,10 @@ export class WaliEventHost {
277
291
  timer.expirations = 0n;
278
292
  return 0n;
279
293
  }
280
- updateTimer(timer) {
294
+ updateTimer(timer, now) {
281
295
  if (timer.deadlineNanoseconds === undefined)
282
296
  return;
283
- const now = this.nowNanoseconds(timer.clockId);
297
+ now ??= this.nowNanoseconds(timer.clockId);
284
298
  if (now < timer.deadlineNanoseconds)
285
299
  return;
286
300
  const elapsed = now - timer.deadlineNanoseconds;
@@ -291,10 +305,11 @@ export class WaliEventHost {
291
305
  timer.deadlineNanoseconds = timer.intervalNanoseconds === 0n
292
306
  ? undefined : timer.deadlineNanoseconds + elapsedExpirations * timer.intervalNanoseconds;
293
307
  }
294
- timerRemaining(timer) {
308
+ timerRemaining(timer, now) {
295
309
  if (timer.deadlineNanoseconds === undefined)
296
310
  return 0n;
297
- const remaining = timer.deadlineNanoseconds - this.nowNanoseconds(timer.clockId);
311
+ now ??= this.nowNanoseconds(timer.clockId);
312
+ const remaining = timer.deadlineNanoseconds - now;
298
313
  return remaining > 0n ? remaining : 0n;
299
314
  }
300
315
  readTimespec(pointer) {
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAA8B,MAAM,iBAAiB,CAAC;AAEtF,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,MAAM,KAAK,GAAG,EAAE,CAAC;AACjB,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,MAAM,GAAG,GAAG,CAAC;AACnB,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,4EAA4E;AAC5E,qEAAqE;AACrE,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,cAAc,GAAG,CAAC,CAAC;AACzB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,WAAW,GAAG,QAAQ,CAAC;AAC7B,MAAM,YAAY,GAAG,KAAK,CAAC;AAC3B,MAAM,qBAAqB,GAAG,mBAAsB,CAAC;AAoBrD,MAAM,OAAO,aAAa;IAKL;IACA;IACA;IANF,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1C,MAAM,GAAG,IAAI,GAAG,EAAyB,CAAC;IAE3D,YACmB,MAAgC,EAChC,WAAoC,EACpC,YAAiE;QAFjE,WAAM,GAAN,MAAM,CAA0B;QAChC,gBAAW,GAAX,WAAW,CAAyB;QACpC,iBAAY,GAAZ,YAAY,CAAqD;IACjF,CAAC;IAEJ,OAAO;QACL,OAAO;YACL,gBAAgB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;YAC3E,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxG,aAAa,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,YAAY,CACjE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAC9D;YACD,cAAc,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CACjE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAChE;YACD,eAAe,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAClE,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,CAChE;YACD,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAChE,YAAY,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACpF,kBAAkB,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAC1F,mBAAmB,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAClE,MAAM,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,CAC3D;SACF,CAAC;IACJ,CAAC;IAEO,KAAK,KAAiB,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpE,IAAI,KAAe,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAE/D,KAAK,CAAC,OAAe,EAAE,MAAc;QAC3C,IAAI,OAAO,GAAG,CAAC,IAAI,MAAM,GAAG,CAAC,IAAI,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YACpF,MAAM,IAAI,WAAW,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;QACnF,CAAC;IACH,CAAC;IAEO,WAAW,CAAC,KAAK,GAAG,CAAC;QAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,YAAY,EAAqB,CAAC,CAAC;QACrE,IAAI,KAAK,GAAG,WAAW;YAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC,KAAK,GAAG,CAAC,CAAC;QAC7E,OAAO,MAAM,CAAC,EAAE,CAAC,CAAC;IACpB,CAAC;IAEO,aAAa,CAAC,KAAoB,EAAE,OAAO,GAAG,CAAC;QACrD,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,MAAM,UAAU,GAA0B;YACxC,IAAI,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YACzC,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM;YACnF,SAAS,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;SAC3E,CAAC;QACF,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,YAAY,CAAC,OAAe,EAAE,SAAiB,EAAE,EAAU,EAAE,YAAoB;QACvF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC;QAC1B,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,CAAC,KAAK,CAAC;QACzD,IAAI,KAAK,KAAK,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;QAClD,IAAI,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1C,IAAI,OAAO,IAAI,OAAO,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;YAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAAC,OAAO,GAAG,SAAS,CAAC;QAAC,CAAC;QAC9F,IAAI,SAAS,KAAK,aAAa,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO;gBAAE,OAAO,CAAC,MAAM,CAAC;YAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACrB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,IAAI,SAAS,KAAK,aAAa,IAAI,SAAS,KAAK,aAAa;YAAE,OAAO,CAAC,MAAM,CAAC;QAC/E,IAAI,SAAS,KAAK,aAAa,IAAI,OAAO;YAAE,OAAO,CAAC,MAAM,CAAC;QAC3D,IAAI,SAAS,KAAK,aAAa,IAAI,CAAC,OAAO;YAAE,OAAO,CAAC,MAAM,CAAC;QAC5D,IAAI,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC,8CAA8C;QAC7F,IAAI,YAAY,IAAI,CAAC,IAAI,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC;QACzG,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC;YACtB,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC;YACjD,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,YAAY,GAAG,iBAAiB,EAAE,YAAY,GAAG,iBAAiB,CAAC;YAC5F,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,UAAU;SACrB,CAAC,CAAC;QACH,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC;YAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACjD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,WAAW,CAAC,KAAoB;QACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,EAAE,CAAC;YACjD,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;mBAC5D,CAAC,CAAC,KAAK,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;gBACzE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACtC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBAAE,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/F,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;QAC1B,CAAC;IACH,CAAC;IAEO,UAAU,CAAC,OAAe;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,KAAK,CAAC;QACzB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,CAAC;IAEO,SAAS,CAAC,OAAe,EAAE,OAAe,EAAE,KAAa,EAAE,QAAgB;QACjF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,UAAU,GAAG,iBAAiB;YAAE,OAAO,CAAC,MAAM,CAAC;QACzG,IAAI,OAAO,IAAI,CAAC,IAAI,OAAO,GAAG,KAAK,GAAG,iBAAiB,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,UAAU;YAAE,OAAO,CAAC,GAAG,CAAC;QACvG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;QACtE,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE;YAC5C,MAAM,EAAE,GAAG,OAAO,GAAG,KAAK,GAAG,iBAAiB,CAAC;YAC/C,IAAI,CAAC,KAAK,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,iBAAiB,CAAC,CAAC;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,iBAAiB,CAAC,CAAC;QACvD,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC;IAEO,WAAW,CAAC,YAA+B;QACjD,MAAM,UAAU,GAAG,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;cACtD,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC;eACzD,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;QAClE,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,KAAK,GAAG,GAAG;YAAE,WAAW,IAAI,GAAG,CAAC;QACpC,IAAI,KAAK,GAAG,GAAG;YAAE,WAAW,IAAI,GAAG,CAAC;QACpC,IAAI,KAAK,GAAG,GAAG;YAAE,WAAW,IAAI,GAAG,CAAC;QACpC,IAAI,KAAK,GAAG,IAAI;YAAE,WAAW,IAAI,IAAI,CAAC;QACtC,IAAI,KAAK,GAAG,IAAI;YAAE,WAAW,IAAI,GAAG,CAAC;QACrC,OAAO,WAAW,GAAG,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACpD,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,KAAa;QAClD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,GAAG,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;QAClE,IAAI,OAAO,GAAG,MAAM,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC;QAC3C,MAAM,UAAU,GAA0B;YACxC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,OAAO,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACzF,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC;gBAC/B,IAAI,OAAO,KAAK,EAAE;oBAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;gBAC3D,MAAM,KAAK,GAAG,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;gBACvC,OAAO,IAAI,KAAK,CAAC;gBACjB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;gBACf,IAAI,KAAK,CAAC,UAAU,GAAG,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC;gBACzC,MAAM,SAAS,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;gBACvG,IAAI,SAAS,KAAK,mBAAsB;oBAAE,OAAO,CAAC,MAAM,CAAC;gBACzD,OAAO,IAAI,SAAS,CAAC;gBACrB,OAAO,EAAE,CAAC;YACZ,CAAC;YACD,KAAK,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;SACzE,CAAC;QACF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC;IAC9D,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,KAAa;QAClD,IAAI,CAAC,CAAC,cAAc,EAAE,eAAe,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;QACzF,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,GAAG,YAAY,CAAC,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;QAClE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;YAC/B,OAAO;YACP,WAAW,EAAE,OAAO,CAAC,KAAK,GAAG,YAAY,CAAC;YAC1C,mBAAmB,EAAE,EAAE;YACvB,mBAAmB,EAAE,SAAS;YAC9B,WAAW,EAAE,EAAE;SAChB,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa,CAAC,KAAoB,EAAE,OAAO,GAAG,CAAC,EAAE,kBAAkB,GAAG,KAAK;QACjF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QACZ,IAAI,WAAW,GAAG,kBAAkB,CAAC;QACrC,MAAM,UAAU,GAA0B;YACxC,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,OAAO,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YACD,IAAI,EAAE,CAAC,MAAM,EAAE,EAAE;gBACf,IAAI,MAAM,GAAG,CAAC;oBAAE,OAAO,CAAC,MAAM,CAAC;gBAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;gBACxB,IAAI,KAAK,CAAC,WAAW,KAAK,EAAE;oBAAE,OAAO,CAAC,MAAM,CAAC;gBAC7C,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC;gBAChC,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBAChC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;gBACxD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,KAAK,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACxC,KAAK,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE;gBAC3B,IAAI,OAAO,KAAK,CAAC;oBAAE,OAAO,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtD,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBACtE,IAAI,OAAO,KAAK,CAAC;oBAAE,OAAO,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACvE,IAAI,OAAO,KAAK,CAAC,EAAE,CAAC;oBAAC,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;oBAAC,OAAO,EAAE,CAAC;gBAAC,CAAC;gBACvF,OAAO,CAAC,MAAM,CAAC;YACjB,CAAC;YACD,SAAS,EAAE,CAAC,WAAW,EAAE,eAAe,EAAE,EAAE,CAAC,MAAM,CACjD,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,WAAW,EAAE,eAAe,CAAC,CACxD;SACF,CAAC;QACF,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAC3B,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,UAAU,CAAC,EAAU,EAAE,KAAa,EAAE,YAAoB,EAAE,eAAuB;QACzF,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,CAAC,KAAK,CAAC;QAC1B,IAAI,CAAC,KAAK,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC;YAAE,OAAO,CAAC,MAAM,CAAC;QACvD,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,GAAG,EAAE,CAAC,CAAC;QACnD,IAAI,QAAQ,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,CAAC;QAElE,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACxB,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;YAChC,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC;YAC/D,IAAI,CAAC,aAAa,CAAC,eAAe,GAAG,EAAE,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;QACvE,CAAC;QAED,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAC;QACrC,KAAK,CAAC,mBAAmB,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,SAAS;YAClD,CAAC,CAAC,CAAC,KAAK,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,KAAK,CAAC;QACrF,KAAK,CAAC,WAAW,GAAG,EAAE,CAAC;QACvB,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,WAAW,CAAC,KAAoB;QACtC,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;YAAE,OAAO;QACpD,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,GAAG,GAAG,KAAK,CAAC,mBAAmB;YAAE,OAAO;QAC5C,MAAM,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAChD,MAAM,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,KAAK,EAAE;YACzD,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,GAAG,KAAK,CAAC,mBAAmB,CAAC;QAClD,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC,WAAW,GAAG,kBAAkB,GAAG,qBAAqB;YAChF,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,GAAG,kBAAkB,CAAC;QACnE,KAAK,CAAC,mBAAmB,GAAG,KAAK,CAAC,mBAAmB,KAAK,EAAE;YAC1D,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,mBAAmB,GAAG,kBAAkB,GAAG,KAAK,CAAC,mBAAmB,CAAC;IAC7F,CAAC;IAEO,cAAc,CAAC,KAAoB;QACzC,IAAI,KAAK,CAAC,mBAAmB,KAAK,SAAS;YAAE,OAAO,EAAE,CAAC;QACvD,MAAM,SAAS,GAAG,KAAK,CAAC,mBAAmB,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjF,OAAO,SAAS,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IACzC,CAAC;IAEO,YAAY,CAAC,OAAe;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACvD,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAG,EAAE,IAAI,WAAW,GAAG,EAAE,IAAI,WAAW,IAAI,WAAc;YAAE,OAAO;QAC9E,OAAO,OAAO,GAAG,WAAc,GAAG,WAAW,CAAC;IAChD,CAAC;IAEO,aAAa,CAAC,OAAe,EAAE,WAAmB;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,WAAc,EAAE,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO,GAAG,CAAC,EAAE,WAAW,GAAG,WAAc,EAAE,IAAI,CAAC,CAAC;IAC3E,CAAC;IAEO,cAAc,CAAC,OAAe;QACpC,IAAI,OAAO,KAAK,cAAc,EAAE,CAAC;YAC/B,MAAM,YAAY,GAAG,OAAO,WAAW,KAAK,WAAW;gBACrD,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,UAAU,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;YAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC,CAAC;QACtD,CAAC;QACD,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;CACF"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../src/events.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"network-host.d.ts","sourceRoot":"","sources":["../src/network-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,oBAAoB,EAG1B,MAAM,uBAAuB,CAAC;AAmF/B,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG;IAC3E,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;CAC1D,CAmyCA"}
1
+ {"version":3,"file":"network-host.d.ts","sourceRoot":"","sources":["../src/network-host.ts"],"names":[],"mappings":"AAMA,OAAO,EAIL,KAAK,oBAAoB,EAG1B,MAAM,uBAAuB,CAAC;AAmF/B,8EAA8E;AAC9E,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,GAAG;IAC3E,OAAO,CAAC,KAAK,EAAE,YAAY,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;CAC1D,CAkzCA"}
@@ -272,9 +272,13 @@ export function createWaliNetworkSession(reply) {
272
272
  }
273
273
  if (operation === NetworkOperation.Ioctl && epolls.has(fd))
274
274
  return scalar(ioctlDescriptor(fd, args[1]));
275
+ if (operation === NetworkOperation.TimerFdGetTime && epolls.has(fd))
276
+ return scalar(-22);
275
277
  const socket = sockets.get(fd);
276
278
  if (!socket)
277
279
  return scalar(-9);
280
+ if (operation === NetworkOperation.TimerFdGetTime)
281
+ return getTimerFd(socket);
278
282
  if (operation === NetworkOperation.Ioctl)
279
283
  return scalar(ioctlSocket(fd, socket, args[1], args[2]));
280
284
  if (operation === NetworkOperation.Connect)
@@ -423,6 +427,18 @@ export function createWaliNetworkSession(reply) {
423
427
  });
424
428
  return fd;
425
429
  }
430
+ /** Linux timerfd_gettime shares the timer object and never drains its counter. */
431
+ function getTimerFd(socket) {
432
+ if (socket.kind !== "timer")
433
+ return scalar(-22);
434
+ const now = nowNanoseconds(socket.clockId);
435
+ updateTimer(socket, now);
436
+ const output = new Uint8Array(32);
437
+ const view = new DataView(output.buffer);
438
+ writeTimespec(view, 0, socket.intervalNanoseconds);
439
+ writeTimespec(view, 16, timerRemaining(socket, now));
440
+ return { result: 0, output };
441
+ }
426
442
  function setTimerFd(socket, flags, input) {
427
443
  if (socket.kind !== "timer")
428
444
  return scalar(-9);
@@ -1437,10 +1453,10 @@ export function createWaliNetworkSession(reply) {
1437
1453
  }
1438
1454
  return output;
1439
1455
  }
1440
- function updateTimer(timer) {
1456
+ function updateTimer(timer, now) {
1441
1457
  if (timer.deadlineNanoseconds === undefined)
1442
1458
  return;
1443
- const now = nowNanoseconds(timer.clockId);
1459
+ now ??= nowNanoseconds(timer.clockId);
1444
1460
  if (now < timer.deadlineNanoseconds)
1445
1461
  return;
1446
1462
  const elapsed = now - timer.deadlineNanoseconds;
@@ -1450,10 +1466,11 @@ export function createWaliNetworkSession(reply) {
1450
1466
  timer.deadlineNanoseconds = timer.intervalNanoseconds === 0n
1451
1467
  ? undefined : timer.deadlineNanoseconds + count * timer.intervalNanoseconds;
1452
1468
  }
1453
- function timerRemaining(timer) {
1469
+ function timerRemaining(timer, now) {
1454
1470
  if (timer.deadlineNanoseconds === undefined)
1455
1471
  return 0n;
1456
- const remaining = timer.deadlineNanoseconds - nowNanoseconds(timer.clockId);
1472
+ now ??= nowNanoseconds(timer.clockId);
1473
+ const remaining = timer.deadlineNanoseconds - now;
1457
1474
  return remaining > 0n ? remaining : 0n;
1458
1475
  }
1459
1476
  function readTimespec(view, offset) {