Support pidfd blocking semantics
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 10.7k
- Forks
- 662
- Avg merge
- 2d 3h
- Merged PRs (30d)
- 2
Description
I landed a test for this in ad9451f858cf518c07de05183849d0f8374b90e3 but I don't know how to implement it.
If the pidfd refers to a tracee task, then we need to get the pid of that task and process it like P_PID ... i.e. possibly emulating the wait.
If the pidfd refers to a non-tracee task, then no emulation is needed and we can just pass the syscall through.
The problem is, I don't know how to get the pid from a pidfd :-(.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by inspecting the test introduced in commit ad9451f858cf518c07de05183849d0f8374b90e3 and trace the pidfd-related syscall handling it exercises. Determine how to obtain the task pid from a pidfd; done means tracee pidfds emulate P_PID waiting while non-tracee pidfds pass the syscall through.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100