[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Question regarding coroutines
- From: Diman Todorov <diman@...>
- Date: Mon, 10 Jul 2006 17:29:25 +0200
Hello list,
narf = function()
a = coroutine.yield()
coroutine.yield()
print(a)
end
co1 = coroutine.create(narf)
co2 = coroutine.create(narf)
coroutine.resume(co1)
coroutine.resume(co2)
coroutine.resume(co1, "narf")
coroutine.resume(co2, "zod")
coroutine.resume(co1)
coroutine.resume(co2)
<snip>
Quintillian:~/tmp diman$ lua narf.lua
zod
zod
Quintillian:~/tmp diman$
<snip>
It seems, that LUA uses the same memory to store the variable 'a' for
both coroutines
Is this a feature, is it a bug and how can i avoid it?
Can i not somehow 'duplicate' the function prior to resuming it?
regards
Diman