luci-0.9: merge r6410

This commit is contained in:
Jo-Philipp Wich 2010-11-09 19:44:01 +00:00
parent c790400671
commit 5dea416e83

View file

@ -771,19 +771,19 @@ function copcall(f, ...)
end
-- Handle return value of protected call
function handleReturnValue(err, co, status, arg1, arg2, arg3, arg4, arg5)
function handleReturnValue(err, co, status, ...)
if not status then
return false, err(debug.traceback(co, arg1), arg1, arg2, arg3, arg4, arg5)
return false, err(debug.traceback(co, (...)), ...)
end
if coroutine.status(co) ~= 'suspended' then
return true, arg1, arg2, arg3, arg4, arg5
return true, ...
end
return performResume(err, co, coroutine.yield(arg1, arg2, arg3, arg4, arg5))
return performResume(err, co, coroutine.yield(...))
end
-- Resume execution of protected function call
function performResume(err, co, arg1, arg2, arg3, arg4, arg5)
return handleReturnValue(err, co, coroutine.resume(co, arg1, arg2, arg3, arg4, arg5))
function performResume(err, co, ...)
return handleReturnValue(err, co, coroutine.resume(co, ...))
end