On Mon, Aug 25, 2014 at 8:01 AM,
Thomas Jericke
<tjericke@indel.ch> wrote:
On 08/25/2014 02:56 AM, Patrick Donnelly
wrote:
On Sun, Aug 24, 2014 at 4:02 PM, Thijs Schreijer
<thijs@thijsschreijer.nl>
wrote:
As "lua_State" not actually refers to a state, but
to a thread or an execution stack, could it be
renamed? To something that properly reflects what
it is?
I suspect that the name was introduced before
coroutines were added, which meant that a state
and a thread were pretty much the same thing then.
+1 for lua_Thread.
I don't really get the use of the word 'thread' in the C
API, they are called "coroutines" in the Lua library.
--
Thomas
It's because not all threads are coroutines. Every Lua state
automatically has a "main" thread, and this thread is not a
coroutine. It cannot be suspended.
For example, compare the C API function
lua_pushthread(L), which will always push a thread object even
if it is the main thread, with the Lua library function
coroutine.running(), which will return nil if the current
thread is the main thread.