Le 11/12/2020 à 15:29, Yuriy Skalko a écrit :
The only issue left is concerning tracker_/trackable_ members of Trackable class used in call to track_foreign. As I understand it is some hack to have lifetime of slots be the same as of containing class (PreviewLoader::Impl/Converter::Impl). Is it right?

I've resolved this issue. Looking at the comment for Trackable class in signals.h, I've implemented more thread-safe solution that tracks parents directly with a shared_ptr as recommended by signals2. Now deletion of the parent by a concurrent thread is prevented.

Trackable class is still used in Server.h/.cpp so I haven't deleted it. Probably it should be moved there from signals.h.

To be frank I am not competent to review this.

The code in the nod library seems well written and commented. It has not be touched for 2 years, but it is maybe because it does not need to. This code should be maintainable at worst.

The fact that Yuriy has researched all the possible alternatives is good too.

If we get rid of Boost.signal2, then the size of boost will not be a concern anymore.

Any thoughts?

JMarc
--
lyx-devel mailing list
lyx-devel@lists.lyx.org
http://lists.lyx.org/mailman/listinfo/lyx-devel

Reply via email to