LUMIERA.clone/wiki
Ichthyostega d6167c1845 DependencyFactory: reorder destructor to allow for re-entrance
This is borderline yet acceptable;
A service might indeed depend on itself circularly
The concrete example is the Advice-System, which needs to push
the clean-up of AdviceProvicions into a static context. From there
the deleters need to call back into the AdviceSystem, since they have
no wey to find out, if this is an individual Advice being retracted,
or a mass-cleanup due to system shutdown.

Thus the DependencyFactory now invokes the actual deleter
prior to setting the instance-Ptr to NULL.
This sidesteps the whole issue with the ClassLock, which actually
must be already destroyed at that point, according to the C++ standard.
(since it was created on-demand, on first actual usage, *after* the
DependencyFactory was statically initialised). A workaround would be
to have the ctor of DependencyFactory actively pull and allocate the
Monitor for the ClassLock; however this seems a bit overingeneered
to deal with such a borderline issue
2018-04-01 07:06:58 +02:00
..
draw DOC: drawing to show the structure of timeline display 2016-12-02 04:07:46 +01:00
DIR_INFO update some DIR_INFO entries 2011-04-05 00:44:30 +02:00
empty.html upgrade TiddlyWiki to v2.8.1 2013-08-10 05:36:57 +02:00
InterfaceConcept_Varga.mm Lumiera GUI thoughts -- Mindmap to complement the Interface concept PDF 2015-04-26 23:22:42 +02:00
renderengine.html DI: document the reworked Singleton / Dependency-Factory 2018-03-25 09:33:57 +02:00
thinkPad.ichthyo.mm DependencyFactory: reorder destructor to allow for re-entrance 2018-04-01 07:06:58 +02:00
uml better use doc/devel/uml... 2007-06-21 02:57:49 +02:00
workflow.mm DOC: expand concept map 2014-10-25 01:56:44 +02:00