From: <br...@us...> - 2008-06-18 13:22:23
|
Revision: 263 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=263&view=rev Author: brus07 Date: 2008-06-18 06:22:31 -0700 (Wed, 18 Jun 2008) Log Message: ----------- LoadingList of Dlls work in ThreadPool, because don't waint this in start program Modified Paths: -------------- ACMServer/trunk/ACMServer/Mediator/Form1.cs ACMServer/trunk/ACMServer/Mediator/Library/MediatorKernel.cs Modified: ACMServer/trunk/ACMServer/Mediator/Form1.cs =================================================================== --- ACMServer/trunk/ACMServer/Mediator/Form1.cs 2008-06-17 15:36:50 UTC (rev 262) +++ ACMServer/trunk/ACMServer/Mediator/Form1.cs 2008-06-18 13:22:31 UTC (rev 263) @@ -28,6 +28,12 @@ { kernel = new AcmContester.Mediator.Library.MediatorKernel(); kernel.onWorkingData += WorkingData; + System.Threading.ThreadPool.QueueUserWorkItem(RunLoadDll); + //kernel.LoadLists(); + } + + void RunLoadDll(Object ob) + { kernel.LoadLists(); } @@ -61,7 +67,8 @@ private void Disconnnect() { - kernel.SendToAll("stop"); + if (kernel != null) + kernel.SendToAll("stop"); } Modified: ACMServer/trunk/ACMServer/Mediator/Library/MediatorKernel.cs =================================================================== --- ACMServer/trunk/ACMServer/Mediator/Library/MediatorKernel.cs 2008-06-17 15:36:50 UTC (rev 262) +++ ACMServer/trunk/ACMServer/Mediator/Library/MediatorKernel.cs 2008-06-18 13:22:31 UTC (rev 263) @@ -18,7 +18,6 @@ plugin.onDataArrived += DataArrivedFromClientList; plugin.onWorkingData += WorkingData; } - testerSideList = PluginsLoader<BaseMediatorPlugin>.Load("Dll_Tester"); foreach (BaseMediatorPlugin plugin in testerSideList) { @@ -37,16 +36,22 @@ private void DataArrivedFromClientList(string message) { - for (int index = 0; index < testerSideList.Count; index++) + if (testerSideList != null) { - ((BaseMediatorPlugin)testerSideList[index]).Send(message); + for (int index = 0; index < testerSideList.Count; index++) + { + ((BaseMediatorPlugin)testerSideList[index]).Send(message); + } } } private void DataArrivedFromTesterList(string message) { - for (int index = 0; index < clientSideList.Count; index++) + if (clientSideList != null) { - ((BaseMediatorPlugin)clientSideList[index]).Send(message); + for (int index = 0; index < clientSideList.Count; index++) + { + ((BaseMediatorPlugin)clientSideList[index]).Send(message); + } } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |