Expand description
The listener pool: leader/followers over one seccomp listener descriptor.
The kernel hands a notification to the longest-waiting receiver, which on
an idle host means a cold core. So exactly one thread (the leader) waits
at a time, spinning on poll for a short while before sleeping. When it
receives it releases the token and serves the request itself; whichever
spinning follower grabs the token becomes the next leader. Idle threads
park after spin_us.
Structs§
Constants§
- FOLLOWER_
SPIN_ 🔒US - Longest a follower spins for the token before parking, in microseconds.
Functions§
- addfd
- Installs
fdinto the tracee at the lowest free descriptor number, without answering the notification. Closes the supervisor’s copy. - addfd_
at - Installs
fdinto the tracee at descriptor numbernewfd, closing what was there, without answering the notification. - recv 🔒
- Blocking receive;
Noneonce no process uses the filter any more. - reply
- Answers a notification with a plain result or an error.
- reply_
continue - Lets the kernel execute the syscall unchanged.
- reply_
fd - Installs
fdinto the tracee and completes the syscall with its number. - start
- Starts the supervisor threads. They run until the listener closes.
- still_
valid - Checks that the tracee is still blocked in this notification.
- thread_
main 🔒 - wait_
ready 🔒 - Spins on
poll(0)for up tobudgetmicroseconds, then blocks until readable.