lua-users home
lua-l archive

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





On Tue, Aug 26, 2014 at 10:15 AM, Duncan Cross <duncan.cross@gmail.com> wrote:
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.

-Duncan
 
Unless things have changed in the most recent version(s), in which case: for historical reasons. :)

-Duncan