From 7caababf8dd880a0c9968ed1d18e5dcf2f652839 Mon Sep 17 00:00:00 2001 From: Chen Chengjun Date: Tue, 16 Dec 2025 02:31:48 +0000 Subject: [PATCH] Add SCML for waitid syscall --- book/src/kernel/linux-compatibility/README.md | 2 +- .../process-and-thread-management/README.md | 14 ++++++++++++++ .../process-and-thread-management/waitid.scml | 7 +++++++ 3 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/waitid.scml diff --git a/book/src/kernel/linux-compatibility/README.md b/book/src/kernel/linux-compatibility/README.md index 3b1b9c519..8329bb0fa 100644 --- a/book/src/kernel/linux-compatibility/README.md +++ b/book/src/kernel/linux-compatibility/README.md @@ -267,7 +267,7 @@ which are summarized in the table below. | 244 | mq_notify | ❌ | N/A | | 245 | mq_getsetattr | ❌ | N/A | | 246 | kexec_load | ❌ | N/A | -| 247 | waitid | ✅ | ❓ | +| 247 | waitid | ✅ | [⚠️](syscall-flag-coverage/process-and-thread-management/#waitid) | | 248 | add_key | ❌ | N/A | | 249 | request_key | ❌ | N/A | | 250 | keyctl | ❌ | N/A | diff --git a/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/README.md b/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/README.md index 95d76f07c..c048c93a8 100644 --- a/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/README.md +++ b/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/README.md @@ -66,3 +66,17 @@ Unsupported policies or flags: For more information, see [the man page](https://man7.org/linux/man-pages/man2/sched_setscheduler.2.html). + +### `waitid` + +Supported functionality in SCML: + +```c +{{#include waitid.scml}} +``` + +Ignored options: +* `WEXITED` + +For more information, +see [the man page](https://man7.org/linux/man-pages/man2/waitid.2.html). \ No newline at end of file diff --git a/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/waitid.scml b/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/waitid.scml new file mode 100644 index 000000000..ba194938f --- /dev/null +++ b/book/src/kernel/linux-compatibility/syscall-flag-coverage/process-and-thread-management/waitid.scml @@ -0,0 +1,7 @@ +// Wait for a child process to change state +waitid( + which = P_PID | P_PIDFD | P_PGID | P_ALL, + pid, infop, + options = WNOHANG | WSTOPPED | WCONTINUED | WNOWAIT, + ru +);