2007-11-09 Mark Probst <mark.probst@gmail.com>
authorMark Probst <mark.probst@gmail.com>
Fri, 9 Nov 2007 09:37:12 +0000 (09:37 -0000)
committerMark Probst <mark.probst@gmail.com>
Fri, 9 Nov 2007 09:37:12 +0000 (09:37 -0000)
commitbb45f9221d0253731233bf6885aae6b19759bfad
tree9d40971af6e9e421822802fdc9c407cc76281c57
parent0274fff8a3d9b8d457323c847e5a272b14fc6ee0
2007-11-09  Mark Probst  <mark.probst@gmail.com>

* gc.c, gc-internal.h: Don't finalize threadpool threads with
other objects, because the threadpool is still around.  Put them
in a list instead and after finalizing all other objects in the
root domain shut down the thread pool and then finalize the
threads.  Fixes bug #337383.

* threads.c, thread-types.h: New mono_thread_create_internal()
function for marking a thread with the threadpool flag before it
started.  Set synch_cs to NULL after freeing it.

* threadpool.c: Mark threadpool threads before they start.

svn path=/trunk/mono/; revision=89306
mono/metadata/ChangeLog
mono/metadata/gc-internal.h
mono/metadata/gc.c
mono/metadata/threadpool.c
mono/metadata/threads-types.h
mono/metadata/threads.c