lua-users home
lua-l archive

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

How do I make latent functions in Lua?

When I am inside a c-function (called by Lua) I want to "pause" execution
and resume that at a later time. The function that called lua in the first
place should return (lua_dostring, lua_dofile etc)

int threadId;

static int aLatentFunction( lua_State *L )
  threadId = lua_pause( L );

  return 0;

  lua_dostring( L, "aLatentFunction() \n anotherFunc()" );
  // dostring returned, even though anotherFunc isn't called yet.
  lua_resume( L, threadId ); // anotherFunc will be called