eclipse-iceoryx / eclipse-iceoryx/iceoryx
improve process is alive detection
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
When on high CPU load it is possible that the heartbeat thread does not send its heartbeats in a given time-frame. This can cause roudi to cleanup all resources of the application which missed the heartbeat which may lead to use of resources which are deleted.
The solution should be as efficient as possible and may avoid context switches or sending messages (if possible).
One approach could be to use `getpgid`, which returns the group id of a given pid. If the pid does not exist it will fail. If we could couple this with the process runtime or creation time we can identify a process and check if it is still alive.
## Relates
#1380
Contributor guide
Research direction
Start by reading related issue #1380 and the history of linked PR #2056 to understand what work has already moved elsewhere. Investigate the proposed getpgid and process runtime or creation-time checks; done means liveness detection remains reliable under high CPU load without unsafe resource cleanup, while avoiding unnecessary context switches or messages.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- distributed-systems, operating-systems
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100