lua-users home
lua-l archive

Re: lua_yieldk/lua_resume not removing yielded values

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


> > [...] In other words it seems the nargs of a second lua_resume
> > seems to be ignored, and all values on the thread stack at the moment
> > of the resume are passed to the continuation function.
>
> This is a documentation problem. When a coroutine resumes after the
> first time, the stack cannot contain anything besides the arguments to
> resume. 'nargs' is mostly ignored (except for error handling and API
> checks).
The documentation is not that wrong, after all. It says:
 To resume a coroutine, you put on its stack only the values to be
 passed as results from yield, and then call lua_resume.
Note the "only". It is not very clear about removing the old results,
but it is very clear about not pushing extra elements.
-- Roberto

AltStyle によって変換されたページ (->オリジナル) /