hermit-os / hermit-os/kernel

pthread_cancel is not supported

Open
#2,519 0 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.