2010-04-19 Gonzalo Paniagua Javier <gonzalo@novell.com>
commit97fe27bfdc88c4cd8dea73ae363702be61ee0a82
authorgonzalo <gonzalo@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 19 Apr 2010 21:21:14 +0000 (19 21:21 +0000)
committergonzalo <gonzalo@e3ebcda4-bce8-0310-ba0a-eca2169e7518>
Mon, 19 Apr 2010 21:21:14 +0000 (19 21:21 +0000)
treeefd64687dbff8cf7164e7570a29d70d6601d69e1
parenteb745dd033418198fa43c87494b8eeaa0aeffa51
2010-04-19 Gonzalo Paniagua Javier <gonzalo@novell.com>

* domain-internals.h: made threadpool_jobs volatile.
* mono-wsq.c: add an assert to verify that the threadpool cleaned up
all local jobs.
* threadpool.c:
-When two threads try to initialize the socket IO pool,
the second one waits until the intialization is finished
instead of continuing right away.
-Add checks for domain unload: no items added in this case.
-Only measure the time every 10 elements added to the queue.
This is an experiment since linux x86 gettimeofday() sucks.
-Create new thread if there are none waiting for work items.
-There was a missing decrement of the busy threads.
-Make sure the local queue is cleaned up before exiting the
thread when the program ends.

git-svn-id: svn+ssh://mono-cvs.ximian.com/source/trunk/mono@155767 e3ebcda4-bce8-0310-ba0a-eca2169e7518
mono/metadata/ChangeLog
mono/metadata/domain-internals.h
mono/metadata/mono-wsq.c
mono/metadata/threadpool.c