lua-users home
lua-l archive

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


On Fri, Jul 31, 2009 at 10:09 PM, Thomas Harning Jr.<harningt@gmail.com> wrote:
> Basically, it looks like the on-error-condition patch is not getting
> called in the co-routine case.  I don't recall what was required to
> get that working...
> Also.. it looks like it's printing the success case rather than the
> failure case.  I'll see if I can figure out what is going on... will
> need to first digest how your patch does the condition tracking.
Checking through this and writing up a quick test (at:
http://pastebin.com/m40f2d12b),
I found that if there is an error inside a coroutine, the failure is
'absorbed' and when the coroutine is collected, the success
'finalizers' get executed.

Running this test set on the old version yield no errors, besides the
valgrind-detect access to freed memory.

Hopefully this test can be massaged into a more clean test for
correctness of the patch, but for now, it should work effectively to
root out incorrect behavior.

-- 
Thomas Harning Jr.