[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: lua51w4-rvm segmentation fault
- From: Mark Hamburg <mhamburg@...>
- Date: Wed, 16 Feb 2005 07:54:02 -0800
on 2/16/05 5:59 AM, Roberto Ierusalimschy at roberto@inf.puc-rio.br wrote:
> Yes, there is such mechanism. Lua ensures that GC methods are called in
> the reverse order of the corresponding userdata creation. Therefore, as
> long as a library was loaded before we start creating its userdata, it
> should be unloaded only after all its userdata is finalized. The bug
> is that Lua is not preserving that order when it closes its state.
Surely this isn't exactly what is meant?
If I write:
local a = make_userdata()
_G.liveForever = make_userdata()
a = nil
collectgarbage()
Then I would assume that the first userdata item will be finalized and
eventually collected even though we allocated a userdata item after it.
Mark