[Gc] Re: pthread_cancel(3) confuses 'GC_suspend_all ()'
hans.boehm at hp.com
Thu Sep 17 12:00:05 PDT 2009
Thanks for the careful proofreading. I applied these to my tree.
Unfortunately, I think they don't explain Ludo's results. I'll need to do some testing/debugging before posting the next version.
> -----Original Message-----
> From: gc-bounces at napali.hpl.hp.com
> [mailto:gc-bounces at napali.hpl.hp.com] On Behalf Of Ivan Maidanski
> Sent: Thursday, September 17, 2009 1:22 AM
> To: gc at napali.hpl.hp.com
> Subject: Re: [Gc] Re: pthread_cancel(3) confuses
> 'GC_suspend_all ()'
> "Boehm, Hans" <hans.boehm at hp.com> wrote:
> > Here's an attempt at a patch. Tested superficially on
> Linux (Itanium
> > and ARM) and MacOS with today's CVS. (I seem to run into unrelated
> > build problems on Cygwin, but that may be my ancient Cygwin
> > installation.)
> Some points to fix:
> 1. GC_try_to_collect: I think RESTORE should be before invoke
> finalizers (or even, might be, DISABLE/RESTORE should be
> inside LOCK/UNLOCK?)
> 2. cancel_disable_count should be prefixed with GC_ (since not static)
> 3. "IF_CANCEL(int cancel_state);" -> "IF_CANCEL(int
> cancel_state;)" (all occurrences).
> 4. GC_supend_handler_inner: RESTORE missing before "return" statement.
> 5. fork_cancel_state should be static.
> Gc mailing list
> Gc at linux.hpl.hp.com
More information about the Gc