pthread_cancel is not supported
- Dominant language
- Rust
- Stars
- 1.5k
- Forks
- 132
- Avg merge
- 1d 14h
- Merged PRs (30d)
- 39
Description
Currently, we do not support `pthread_cancel`[[1]][[2]]. This is an issue for example for iperf3, where the absence causes the cancellation to never join and the program to hang[[3]].
[1]: https://github.com/hermit-os/pthread-embedded/blob/path2rs/pthread_cancel.c#L159-L162
[2]: https://github.com/hermit-os/pthread-embedded/blob/path2rs/platform/hermit/pte_osal.c#L465-L467
[3]: https://github.com/hermit-os/iperf/blob/8a94f44cde986106abe8c8bf06d72d327570e34e/src/iperf_server_api.c#L482-L488
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked pthread-embedded implementation in pthread_cancel.c and platform/hermit/pte_osal.c, then inspect the iperf_server_api.c call site to understand the hang. Determine the required cancellation behavior for this kernel integration and verify that cancellation can join without leaving iperf3 stuck.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- c, rust
- Domain
- operating-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100