eclipse-iceoryx / eclipse-iceoryx/iceoryx

improve process is alive detection

Open
#1,361 4 comments 0 reactions 0 assignees View on GitHub
enhancement refactoring technical debt
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.