I have tried to use ownership semantics so the interfaces are more clear. i.e., observers get a const reference, so it is clear they must not hold onto sources.
Sources are passed along pipeline stages with std::unique_ptr so there can be only one proper owner.
tsan does not complain and the example from Martin does not crash anymore on my vm.
I have tried to use ownership semantics so the interfaces are more clear. i.e., observers get a const reference, so it is clear they must not hold onto sources. Sources are passed along pipeline stages with
std::unique_ptr
so there can be only one proper owner.tsan does not complain and the example from Martin does not crash anymore on my vm.