lua-users home
lua-l archive

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


On 5/21/06, David Jones <drj@pobox.com> wrote:

On May 21, 2006, at 19:52, Cyril Zorin wrote:

> Hullo!
>
> Say I have two functions, one Lua function called MyLuaFunc, and a C
> function called my_c_func(). Now, suppose that MyLuaFunc calls
> my_c_func() -- is there a way, from inside my_c_func() to make it so
> the Lua VM returns from MyLuaFunc right after my_c_func() is done? In
> other words
>
> -- some code
> my_c_func()
> -- I want my_c_func() to tell the Lua VM to return from MyLuaFunc
> right after my_c_func() returns
> -- more code
>
> Is there a way to do this?

Sorry, just realised my previous reply was horrible confused and wrong.
  I don't knowing anything about Lua 3.1 (it was 3.2 when I first
started using Lua) but it's not the sort of thing that became possible
until coroutines (Lua 5.0).

No problem.

So, anyone have some thoughts? Right now I think the "easiest" (heh!) way of doing this is to instrument the Lua function's bytecode at runtime (from the C function), and insert a "RETCODE" or equivalent in the appropriate spot, although I'm not espcially happy about this.

Any suggestions?

drj