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