epoll_pwait on score
wait for an I/O event on an epoll file descriptor
sys_epoll_pwait(int epfd, struct epoll_event *events, int maxevents, int timeout, const sigset_t *sigmask, size_t sigsetsize)
| number | 22 (0x16) |
|---|---|
| abi | common |
| kconfig | CONFIG_EPOLL |
| family | epoll see the whole family on score |
| entry point | sys_epoll_pwait |
| since | Linux 3.7 or earlier (3.7 is the first release scanned for score) |
| man page | epoll_pwait(2) |
| source | elixir.bootlin.com |
Registers
| register | value |
|---|---|
r27 | 22, the syscall number |
r4 | int epfd |
r5 | struct epoll_event *events |
r6 | int maxevents |
r7 | int timeout |
r8 | const sigset_t *sigmask |
r9 | size_t sigsetsize |
r4 | the return value |
Then run syscall to enter the kernel.
r7 is the error flag and r4 then holds the positive error number.
This architecture was removed from the Linux kernel in Linux 4.17. The newest release with a syscall table here is Linux 4.16. The other removed architectures live on the historical architectures page.
Same syscall on other architectures
- x64 281
- x86 319
- arm64 22
- arm 346
- riscv64 22
- ia32 319
- x32 1073742105
- loongarch64 22
- ppc64 303
- ppc 303
- s390x 312
- mips64 5272
- mipsn32 6276
- mipso32 4313
- alpha 474
- arc 22
- blackfin 346, removed in 4.17
- cris 319, removed in 4.17
- csky 22
- frv 319, removed in 4.17
- hexagon 22
- ia64 1305, removed in 6.7
- m32r 319, removed in 4.17
- m68k 315
- metag 22, removed in 4.17
- microblaze 319
- mn10300 320, removed in 4.17
- nds32 22, removed in 5.18
- nios2 22
- openrisc 22
- parisc 297
- sh 319
- sparc 309
- sparc64 309
- tilegx 22, removed in 4.17
- tilepro 22, removed in 4.17
- xtensa 274
Get this as JSON: https://api.syscall.sh/v2/syscalls/score/epoll_pwait?kernel=all