lua-users home
lua-l archive

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


* The problem always shows up during the same two calls to yield: the
calls in copas.lua in the send function.  I'm not sure if/how these
are different.  I am going to try to get together a demo and see if I
can get that to fail in the same way.

Guh, I think I found the issue, and I don't think it is a Coco problem
at all.  I checked all new coroutine threads to make sure they were
always created with a stack.  But I forgot about the main thread of
execution.  It seems like my copy of copas was calling
coroutine.yield() from the main thread instead of in a coroutine.  I'm
not sure why, but I'll look into that issue separately.

So I think my original setjmp implementation is fine.  The
implementation I posted earlier hasn't changed, but I can make a
proper patch of it for you.

As for my assembler implementation, it isn't quite there yet.  When
removing one of my debugging printfs I started getting a crash, so
there is some flaw somewhere.  I'll continue tracking it down when I
get a chance.  The assembler version will be more limited anyway,
depending on which ARM processor you are using, so I think it's a good
idea to have both implementations available.

--
Zachary P. Landau <kapheine@gmail.com>