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

Ivan Maidanski ivmai at
Thu Sep 17 01:22:23 PDT 2009


"Boehm, Hans" <hans.boehm at> 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.


More information about the Gc mailing list