[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: userdata environment garbage collection
- From: Sam Roberts <vieuxtech@...>
- Date: Thu, 24 Mar 2011 18:06:25 -0700
On Thu, Mar 24, 2011 at 5:21 PM, Timothy Hunter <rmagick@gmail.com> wrote:
> I'm trying to understand how garbage collection works for userdata environments.
>
> I allocate a userdata and then call lua_setfenv to set an environment table for it. Then I allocate a 2nd userdata and store it in the environment table. Eventually Lua collects the 1st userdata.
>
> I assume that the 2nd userdata will not be collected until the reference in the environment table goes away. Is that correct? Do I need to do anything to allow the environment table to be collected?
No, not if the only ref to the env table was from userdata1.
> After the environment table is collected, do I need to do anything to allow the 2nd userdata to be collected?
Everything should work out correctly, this is pretty much what
userdata envs are for. One thing, anyhow.
Sam