eclipse-iceoryx / eclipse-iceoryx/iceoryx
Analyse remaining mutexes and remove any RouDi deadlock possibilities.
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
Since RouDi is our central daemon and the whole system is corrupted when it fails we can assume for now that RouDi with its inner logic never fails.
But we have to ensure that RouDi is not corrupted by any external instance like a publisher application which holds a lock and dies which would lead to a deadlock in RouDi.
This means RouDi is allowed to block any arbitrary process including itself but no one is allowed to block RouDi.
1. When the publisher sends data it locks a mutex in `chunk_distributor.inl` which can be also locked by RouDi during the cleanup process. If the publisher dies while it holds the lock RouDi will deadlock.
2. The process manager is used in `roudi.cpp` with a smart lock. Is there a RouDi deadlock possibility.
## Detailed information
- [ ] create a design document that specifies which samples a subscriber receives when it subscribes to a service
Contributor guide
Assessment
This issue has not been assessed yet.