webmcp

changeset 449:c37d4bf50a4b

Pass error string of coroutine in execute._initializers
author jbe
date Thu Jul 21 12:43:30 2016 +0200 (2016-07-21)
parents e3da778a8bf3
children d7814e6d0124
files framework/env/execute/_initializers.lua
line diff
     1.1 --- a/framework/env/execute/_initializers.lua	Wed Jun 01 19:59:05 2016 +0200
     1.2 +++ b/framework/env/execute/_initializers.lua	Thu Jul 21 12:43:30 2016 +0200
     1.3 @@ -16,18 +16,19 @@
     1.4        end
     1.5      )
     1.6    end)
     1.7 -  local success, yieldvalue = coroutine.resume(coro)
     1.8 +  local success, value = coroutine.resume(coro)
     1.9    if not success then
    1.10 -    error(debug.traceback(coro, "Error in initializer"))
    1.11 +    error(debug.traceback(coro, "Error in initializer: " .. tostring(value)))
    1.12    end
    1.13    if coroutine.status(coro) == "dead" then
    1.14      error("Initializers failed to call execute.inner()")
    1.15 -  elseif yieldvalue ~= yieldvalue_inner then
    1.16 +  elseif value ~= yieldvalue_inner then
    1.17      error("Unexpected yield in initializer")
    1.18    end
    1.19    execute._finalizers[#execute._finalizers+1] = function()
    1.20 -    if not coroutine.resume(coro) then
    1.21 -      error(debug.traceback(coro, "Error in finalizer"))
    1.22 +    local success, value = coroutine.resume(coro)
    1.23 +    if not success then
    1.24 +      error(debug.traceback(coro, "Error in finalizer: " .. tostring(value)))
    1.25      end
    1.26      if coroutine.status(coro) ~= "dead" then
    1.27        error("Unexpected yield in finalizer")

Impressum / About Us