----- Original Message ----- 
From: "Eric Wilhelm" <[EMAIL PROTECTED]>
To: <inline@perl.org>
Sent: Tuesday, June 28, 2005 4:01 PM
Subject: Re: New() vs malloc() [was Re: Debugging segfault]


> # The following was supposedly scribed by
> # Sisyphus
> # on Monday 27 June 2005 10:09 pm:
>
> >Just idly browsing through the code and I noticed:
> >
> >SV* new (char* class) {
> > gpc_polygon* p = malloc(sizeof(gpc_polygon));
> >
> >whereas I would expect something like:
> >
> >SV* new (char* class) {
> > gpc_polygon* p;
> >New(42, p, 1, gpc_polygon);
> >
> >Any particular reason for the former, as opposed to the latter ?
>
> The code that I cribbed off of had malloc's in it and I've never had any
> trouble with it :-)

Yeah .... that's fair enough. (My concern was that there might have been
some distinct advantage in using 'malloc' over 'New'.)

>
> That's what I meant about using OO.  I won't ever access that outside of
> the Inline'd methods, so I don't have an object count issue, etc.  I'm
> sure there's something nasty lurking in there if I  were to compile it
> on a less forgiving OS.
>

I have this notion that there's a potential for conflict if you compile that
code on a perl built with 'usemymalloc=yes'. Mind you, I've got such a perl
on my Win32 box and haven't been able to create such a conflict ... but the
notion persists, anyway :-)

Basically, I don't really understand how problems with 'malloc' can arise,
so I just (try to) avoid it to be safe.

Cheers,
Rob

Reply via email to