/* * call-seq: * thgrp.list => array * * Returns an array of all existing <code>Thread</code> objects that belong to * this group. * * ThreadGroup::Default.list #=> [#<Thread:0x401bdf4c run>] */ static VALUE thgroup_list(group) VALUE group; { struct thgroup *data; rb_thread_t th; VALUE ary; Data_Get_Struct(group, struct thgroup, data); ary = rb_ary_new(); FOREACH_THREAD(th) { if (th->thgroup == data->group) { rb_ary_push(ary, th->thread); } } END_FOREACH(th); return ary; }