support lua coroutine.yield