eclipse-iceoryx / eclipse-iceoryx/iceoryx
Change sample deleter to not rely on port lifetime
- Dominant language
- C++
- Stars
- 2.2k
- Forks
- 492
- Avg merge
- 18h 57m
- Merged PRs (30d)
- 1
Description
## Brief feature description
Currently the SampleDeleter relies on the lifetime of the underlying port object on user side, i.e. when the port is deleted any sample originating from this port cannot call the deleter in the destructor safely (but will do so anyway and likely crash).
This can be improved by having it rely on the lifetime of the associated PortData object in shared memory only, or even just the runtime. (which is necessarily longer lived)
A refactoring could try to combine this with a port lookup at the runtime and allow safely deleting samples even if the port itself is gone.
This is not strictly required if used correctly, i.e. Ports have to live longer than the corresponding samples.
Reported in #408
Contributor guide
Assessment
This issue has not been assessed yet.