[Gc] [PATCH] Race condition when restarting threads

Ben Maurer bmaurer at ximian.com
Mon Aug 1 16:24:26 PDT 2005


On Mon, 2005-08-01 at 15:09 -0700, Boehm, Hans wrote:
> I don't quite understand the problem here.  If GC_stop_count has
> just been incremented, then I'm about to send another suspend
> signal to the thread, and it will have to stop again before
> we think the world is stopped.  

My situation is:

1) the thread suspending other threads has done both GC_stop_count ++
and GC_world_is_stopped = TRUE
2) A suspended thread wakes up from sigsuspend (on a random signal)
3) By the time it wakes up, the GC_stop_count has taken effect (as seen
by this thread), but GC_world_is_stopped has not
4) The thread thus thinks that the world is being started up again and
continues.

-- Ben



More information about the Gc mailing list