[#5218] Ruby Book Eng tl, ch1 question — Jon Babcock <jon@...>

13 messages 2000/10/02

[#5404] Object.foo, setters and so on — "Hal E. Fulton" <hal9000@...>

OK, here is what I think I know.

14 messages 2000/10/11

[#5425] Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...>

18 messages 2000/10/11
[#5427] RE: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — OZAWA -Crouton- Sakuro <crouton@...> 2000/10/11

At Thu, 12 Oct 2000 03:49:46 +0900,

[#5429] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Jon Babcock <jon@...> 2000/10/11

Thanks for the input.

[#5432] Re: Ruby Book Eng. tl, 9.8.11 -- seishitsu ? — Yasushi Shoji <yashi@...> 2000/10/11

At Thu, 12 Oct 2000 04:53:41 +0900,

[#5516] Re: Some newbye question — ts <decoux@...>

>>>>> "D" == Davide Marchignoli <marchign@di.unipi.it> writes:

80 messages 2000/10/13
[#5531] Re: Some newbye question — matz@... (Yukihiro Matsumoto) 2000/10/14

Hi,

[#5544] Re: Some newbye question — Davide Marchignoli <marchign@...> 2000/10/15

On Sat, 14 Oct 2000, Yukihiro Matsumoto wrote:

[#5576] Re: local variables (nested, in-block, parameters, etc.) — Dave Thomas <Dave@...> 2000/10/16

matz@zetabits.com (Yukihiro Matsumoto) writes:

[#5617] Re: local variables (nested, in-block, parameters, etc.) — "Brian F. Feldman" <green@...> 2000/10/16

Dave Thomas <Dave@thomases.com> wrote:

[#5705] Dynamic languages, SWOT ? — Hugh Sasse Staff Elec Eng <hgs@...>

There has been discussion on this list/group from time to time about

16 messages 2000/10/20
[#5712] Re: Dynamic languages, SWOT ? — Charles Hixson <charleshixsn@...> 2000/10/20

Hugh Sasse Staff Elec Eng wrote:

[#5882] [RFC] Towards a new synchronisation primitive — hipster <hipster@...4all.nl>

Hello fellow rubyists,

21 messages 2000/10/26

[ruby-talk:5448] Re: rb_gc_mark error message

From: Shugo Maeda <shugo@...>
Date: 2000-10-12 04:10:05 UTC
List: ruby-talk #5448
Hi,

At Wed, 11 Oct 2000 14:37:06 +0200 (MET DST),
Robert Feldt <feldt@ce.chalmers.se> wrote:
> > Can you see me the whole code which cause this error?
> > 
> Sorry but thiss will be very difficult; it's part of a rather large system
> and parts of it are proprietary so I'm not allowed to pass them on.
> 
> If I'm able to isolate the bug I'll send it to you. In the mean time:

OK.

> * Is there any way I can make this happen by not handling Data_Wrap_Struct
> in the right way? I have a number of extension libraries and I'm not sure
> I setup the mark functions in the right way.

If your struct has VALUE members, you have to mark the members by
rb_gc_mark() in the mark functions. Otherwise such members will
be collected as garbage.

ex).

struct foo {
    int count;
    VALUE obj;
};

static void mark_foo(struct foo *f)
{
    rb_gc_mark(f->obj);
}

static VALUE foo_s_new(VALUE self)
{
    ...
    Data_Wrap_Struct(cFoo, mark_foo, free_foo, f);
    ...
}

You must not mark non-VALUE members.
If the struct has no VALUE members, you don't have to set the
mark function. Just specify NULL (or 0 --- matz style).

Shugo


In This Thread