[Gc] OS X patch against 6.8: segfault fix
hans.boehm at hp.com
Thu Oct 26 17:52:51 PDT 2006
Thanks. And sorry for the delay.
Clearly the new code is better than the old.
I assume that task_threads() implicitly allocates vm of exactly the
required size? This seems a bit brittle in that if you get the size
wrong, it will fail very rarely. Hence I wanted to double-check ...
The code would look slightly clearer to me if the deallocation code at
the end also used prev_list and prevcount, making it clear that it's
just doing the same cleanup as in the loop.
> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Allan Hsu
> Sent: Thursday, October 05, 2006 5:53 PM
> To: gc at napali.hpl.hp.com
> Subject: [Gc] OS X patch against 6.8: segfault fix
> My patch for the OS X mach port leak from June introduced a
> bug where GC_stop_world in darwin_stop_world.c would free
> memory before it was read, causing non-deterministic segfault
> behaviour. I've attached a patch against 6.8 that I think
> fixes the problem. Could somebody vet it and merge it with their tree?
More information about the Gc