LUMIERA.clone/wiki
Ichthyostega 2354c53a50 GuiStart / Shutdown: nailed the Heisenbug
Reason was some insideous detail regarding Lambdas:
When a Lambda captures context, a *closure* is created.
And while the Lambda itself is generated code, pretty much
like an anonymous function, the closure depends on the context
that was captured. In our case here, the Lambda used to start
the thread was the problem: it captured the termCallback functor
from the argument of the enclosing function. In fact it did not
help or change anything if we successively package that lambda
into a function objet and store this by value, because the
lambda still refers to the transient function context present
on stack at the moment it was captured.

The solution is to revert back to a bind expression, since this
creates a dedicated storage for the bound function arguments
managed within the bind-functor. This makes us independent
from the call context
2017-01-19 23:41:32 +01: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 SessionCommand: multithreaded stress test PASS (closes #1046) 2017-01-14 08:37:46 +01:00
thinkPad.ichthyo.mm GuiStart / Shutdown: nailed the Heisenbug 2017-01-19 23:41:32 +01: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