jbe@214: function execute._initializers(initializer_path_element) jbe@214: local yieldvalue = {} jbe@214: local coro = coroutine.wrap(function() jbe@214: execute.multi_wrapped( jbe@214: execute._create_sorted_execution_list( jbe@214: function(add_by_path) jbe@214: add_by_path(initializer_path_element) jbe@242: if WEBMCP_APP_NAME then -- allow for interactive mode jbe@242: add_by_path(WEBMCP_APP_NAME, initializer_path_element) jbe@242: end jbe@214: end, jbe@214: function(full_path, relative_path) jbe@214: execute.file_path{ file_path = full_path } jbe@214: end jbe@214: ), jbe@214: function() jbe@214: coroutine.yield(yieldvalue) jbe@214: end jbe@214: ) jbe@214: return yieldvalue jbe@214: end) jbe@214: local function cont() jbe@214: assert(coro() == yieldvalue, "Unexpected yield") jbe@214: end jbe@214: cont() jbe@214: execute._finalizers[#execute._finalizers+1] = cont jbe@214: end