webmcp
view framework/env/execute/inner.lua @ 547:75fd8869bc4e
Further bugfixes regarding 1:1 references
| author | jbe | 
|---|---|
| date | Sat Oct 19 20:45:35 2019 +0200 (2019-10-19) | 
| parents | 3384306aa7bc | 
| children | 
 line source
     1 --[[--
     2 execute.inner()
     4 It is mandatory to call this function once in each pre-fork and post-fork initializer and once in each filter of a WebMCP application.
     6 Calling execute.inner() in an initializer marks the end of initialization (the remaining code is executed when the process is terminated cleanly).
     8 Calling execute.inner() in a filter calls the next filter in the filter chain, or the view or action, if there are no more filters following. Code executed BEFORE calling this function is executed BEFORE the view or action, while code executed AFTER calling this function is executed AFTER the view of action.
    10 --]]--
    12 function execute.inner()
    13   local stack = execute._wrap_stack
    14   local pos = #stack
    15   if pos == 0 then
    16     error("Unexpected call of execute.inner().")
    17   end
    18   local inner_func = stack[pos]
    19   if not inner_func then
    20     error("Repeated call of execute.inner().")
    21   end
    22   stack[pos] = false
    23   inner_func()
    24 end
