[Gc] Re: pthread_cancel(3) confuses 'GC_suspend_all ()'

Boehm, Hans hans.boehm at hp.com
Tue Sep 15 11:56:56 PDT 2009


 

> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com 
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Ludovic Courtès
> Sent: Tuesday, September 15, 2009 12:25 AM
> To: gc at napali.hpl.hp.com
> Subject: [Gc] Re: pthread_cancel(3) confuses 'GC_suspend_all ()'
> 
> Hi,
> 
> Thanks for the quick reply and detailed analysis!
> 
> "Boehm, Hans" <hans.boehm at hp.com> writes:
> 
> [...]
> 
> > Thus I'd be inclined to go ahead and disable cancellation 
> across all 
> > potential cancellation points we can find, including the one in the 
> > handler, documenting that one as potentially not completely 
> portable.
> > We should also add the warning that Posix asynchronous cancellation 
> > should never be used with the collector (or, in my opinion, without 
> > it).
> 
> It makes sense to me.  Glibc's pthread_setcancelstate(3) 
> shouldn't introduce much overhead, so that's probably OK.  
> Any idea how many cancellation points lie in libgc code that 
> holds the allocation lock?
> 
I think not a lot.  I'll make a pass over the code to try to get the obvious ones.  The hard part will be to find the ones I forget. 

Hans


More information about the Gc mailing list