Next
Previous
Contents
- Split the caller when invoking an NR function, or else make it
decide what to do on entry (see TclExecuteByteCode)
- The caller of an NR function is itself NR
Not yet quite well solved
- ReturnFunctions have to "
Tcl_PopEvalFrame"
(or else "
evalFramePtr->retFunPtr
= NULL"
) to stop being executed again and again; this provides a
new mechanism for recursive programming: do it conditionally, the
function will be called repeatedly until it removes itself in the
above manner.
Current extensions keep working
- the old API is still around
- bad citizens: stack consumption
- penalty: blockable muThread
How to adapt an extension
- Description
- Examples in the core
- call
Tcl_NewThread()
before the first evaluation, to initialize
the muThread subsystem. If you don't, you'll see a SIGSEGV.
Next
Previous
Contents