From: matz@... (Yukihiro Matsumoto) Date: 2001-06-14T01:34:24+09:00 Subject: [ruby-talk:16460] Re: C extension questions Hi, In message "[ruby-talk:16458] C extension questions" on 01/06/13, Christian Szegedy writes: |Is the only task of the mark function, I pass over to |the Data_Wrap_Structure, to call rb_gc_mark for all |elements held by the data structure? Basically yes. Even though you can do something else, I strongly recommend you to avoid calling ruby functions, since it may try allocating objects, but during GC mark phase, memory is starving by definition. |Is it possible to pass over multiple arguments to the |block using rb_yield or is there some similarly simple |method for this? invoke rb_yield() with array argument, for example, rb_yield(rb_ary_new3(3, INT2FIX(1), INT2FIX(2), INT2FIX(3))); |Can I relay on using FL_USER* (in ruby.h) flags |for my own objects? |(Are they guarateed to exist in future versions...) I think so. It's hard to guarantee something, I'll try. matz.