From: Pie Squared Date: 2008-03-03T12:10:07+09:00 Subject: Re: Ruby Extension Code in C, GC Question On Mar 2, 9:54 pm, Yukihiro Matsumoto wrote: > Hi, > > In message "Re: Ruby Extension Code in C, GC Question" >     on Mon, 3 Mar 2008 11:19:56 +0900, Pie Squared writes: > > |What happens if you create a new object inside the C code, and this > |triggers a garbage collection? > |When you create new objects in the C code, are they automatically > |added to the 'current' scope, so that the GC sees them? If so, then > |how does it know when to remove them from the scope, and if not, then > |what would happen if a GC cycle was triggered during C code execution? > > The object will be marked by Ruby's conservative garbage collector, > which marks objects seemed to be referenced from system stack. > > http://en.wikipedia.org/wiki/Garbage_collection_(computer_science)#Pr... > >                                                         matz. Oh! I had missed/misunderstood "conservative" in descriptions of Ruby's GC... Well, thanks! (And sorry for asking that question when I _should've_ been able to figure it out myself. :) )