(Apply commit
d02ea97 from 'master' branch.)
* mark.c (GC_wait_for_markers_init): Surround function body with
DISABLE/RESTORE_CANCEL.
Conflicts:
* include/private/gc_priv.h
* pthread_support.c
* win32_threads.c
GC_INNER void GC_wait_for_markers_init(void)
{
word count;
+ IF_CANCEL(int cancel_state;)
if (GC_markers_m1 == 0)
return;
+ DISABLE_CANCEL(cancel_state);
/* Reuse marker lock and builders count to synchronize */
/* marker threads startup. */
GC_acquire_mark_lock();
GC_release_mark_lock();
if (count != 0)
GC_wait_for_reclaim();
+ RESTORE_CANCEL(cancel_state);
}
/* Steal mark stack entries starting at mse low into mark stack local */