Hi,
In message "[ruby-talk:16458] C extension questions"
on 01/06/13, Christian Szegedy <szegedy / or.uni-bonn.de> 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.