doh! what was I thinking. :) Thanks!
> -----Original Message-----
> From: Edgar Toernig [mailto:firstname.lastname@example.org]
> Sent: Thursday, April 05, 2001 7:55 PM
> To: Multiple recipients of list
> Subject: Re: odd problem with gc and lua3.2
> Jim Mathies wrote:
> > I'm having a problem where Lua 3.2 is garbage collecting a userdata
> > variable even though the userdata value is stored in a global table.
> > tag = lua_newtag()
> > lua_pushcfunction( cpointer_gc_function );
> > lua_settagmethod( tag, "gc" );
> > lua_pushusertag( (void*)cpointer, tag );
> Ok up to here.
> > lua_pop();
> You remove your tagged userdata here!??
> > lua_pushobject( table );
> > lua_pushnumber( index ); ----> index = 1
> > lua_pushuserdata( cpointer );
> and create a new one with the default tag???
> > lua_rawsettable();
> and put this one into the table!
> >[...] Since 'mytable' still has the cpointer userdata, I
> don't understand
> > why Lua is calling gc.
> mytable has a cpointer userdata with the default tag. Your userdata
> with the private tag was never stored in the table. So the GC is free
> to collect it...
> Ciao, ET.