Thanks.
You are correct about the bug. Good catch. I put a patch in my source
trees, from where it will eventually propagate out.
I don't think that USE_MMAP is necessarily used on Irix. But to reach
either of those paths, you
a) need to be running a recent Irix version,
b) run out of memory, and
c) have at least one other unlikely event occur.
If someone indeed has ever seen a failure, they probably attributed it
to the fact that recovery from out of memory conditions usually isn't a
sure thing anyway, since things other than sbrk may fail. I'm not
surprised this was only found by code inspection.
Hans
> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of
> Jean-Baptiste Nivoit
> Sent: Friday, April 21, 2006 4:34 PM
> To: gc at napali.hpl.hp.com> Subject: [Gc] GC_unix_get_mem on IRIX5
>> I just stumbled upon the following when reading the code in
> os_dep.c around line 1630 ( not RS6000, not USE_MMAP ):
> when the IRIX5 #define is on, i see 2 exits points from that
> function that fail to release the sbrk mutex, which would
> prevent other threads from using sbrk..
>> I guess on IRIX5 the USE_MMAP option is used, which is why
> nobody saw this as a problem until now (I don't have such a
> system, i'm just inferring this from reading the source code).
>> Feel free to correct me if i'm mistaken.
>> jb.
> _______________________________________________
> Gc mailing list
>Gc at linux.hpl.hp.com>http://www.hpl.hp.com/hosted/linux/mail-archives/gc/>