[Mono-list] Thread.Suspend
Martin Baulig
martin@gnome.org
02 Feb 2003 11:10:25 +0100
Dick Porter <dick@ximian.com> writes:
> On Sat, 2003-02-01 at 17:25, tapia wrote:
> > Hi.
> >
> > I'm coding a little app using System.Threading.Thread, and I've seen
> > that the Suspend() method is not implemented.
>
> Suspend() will probably never be implemented while we use the boehm gc
> lib.
>
> The reason is that boehm gc needs to suspend threads itself when it
> stops the world to do a collection, and will deadlock if a thread is
> already suspended by some other means.
Can't we find some solution for this, ie. patch boehm a little bit.
I think all we need to do is replacing GC_stop_world() and GC_start_world() with our own
functions. This could be done with a function vtable, so we'd get something which we
could submit to the boehm people for inclusion in their next release.
--
Martin Baulig
martin@gnome.org
martin@ximian.com