From: <or...@us...> - 2008-05-05 15:58:08
|
Revision: 88 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=88&view=rev Author: oracle_ Date: 2008-05-05 08:58:05 -0700 (Mon, 05 May 2008) Log Message: ----------- Add realtime limit (100*TimeLimit) Modified Paths: -------------- ACMServer/branches/Version_2/Server/TestingUnit.pas Modified: ACMServer/branches/Version_2/Server/TestingUnit.pas =================================================================== --- ACMServer/branches/Version_2/Server/TestingUnit.pas 2008-05-05 12:59:58 UTC (rev 87) +++ ACMServer/branches/Version_2/Server/TestingUnit.pas 2008-05-05 15:58:05 UTC (rev 88) @@ -46,6 +46,7 @@ Res:TRes; PMC:_PROCESS_MEMORY_COUNTERS; ErrFile:string; + starttime:DWORD; begin @@ -171,6 +172,7 @@ Res.ResStr:='Cant create process with exe file="'+ExeFile+'"'; end else begin + starttime:=GetTickCount(); repeat GetProcessMemoryInfo(PI.hProcess,@PMC,sizeof(PMC)); @@ -213,6 +215,18 @@ break; end; + if GetTickCount-starttime>TimeLimit*100 then + begin + Res.ResInt:=R_TimeLimit; + Res.ResStr:='Time Limit (due to realtime limit)'; + TerminateProcess(pi.hProcess,0); + if WaitForSingleObject(PI.hProcess, TerProcTimeOut)=WAIT_TIMEOUT then + begin + Res.ResInt:=R_InTimeError; + Res.ResStr:='Can not terminate process'; + end; + break; + end; Sleep(WaitConst); until not ((ET.dwLowDateTime=0) and (ET.dwHighDateTime=0)); @@ -258,4 +272,4 @@ end; -end. +end. \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |