eclipse-iceoryx / eclipse-iceoryx/iceoryx

Change sample deleter to not rely on port lifetime

Open
#560 4 comments 0 reactions 1 assignee Claimed by @MatthiasKillat View on GitHub
refactoring
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.