mirror of
https://git.dev.opencascade.org/repos/occt.git
synced 2025-08-09 13:22:24 +03:00
0021690: "cpulimit" command does not implemented on Win32 platform
This commit is contained in:
@@ -1 +0,0 @@
|
||||
cpulimit.pc
|
@@ -36,25 +36,6 @@
|
||||
|
||||
static int dejadraw = 0;
|
||||
|
||||
//=======================================================================
|
||||
//function : cpulimit (WNT)
|
||||
//purpose :
|
||||
//=======================================================================
|
||||
|
||||
#ifdef WNT
|
||||
#include "cpulimit.pc"
|
||||
|
||||
static Standard_Integer cpulimit_draw(Draw_Interpretor& di, Standard_Integer n, const char** a)
|
||||
{
|
||||
if (n < 2) { di<<"Give a value"<<"\n"; return 1; }
|
||||
int nn = atoi(a[1]);
|
||||
di<<"LIMIT ELASPED TIME = "<<nn<<" seconds"<<"\n";
|
||||
limitelapsed(nn);
|
||||
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
//#72 rln 09.03.99 Packaging of SWDRAW
|
||||
|
||||
//=======================================================================
|
||||
@@ -210,10 +191,6 @@ void SWDRAW::Init (Draw_Interpretor& theCommands)
|
||||
SWDRAW_ShapeProcess::InitCommands (theCommands);
|
||||
SWDRAW_ShapeProcessAPI::InitCommands (theCommands);
|
||||
|
||||
#ifdef WNT
|
||||
theCommands.Add("limitelapsed", "nn seconds",__FILE__, cpulimit_draw, "essai");
|
||||
#endif
|
||||
|
||||
// locations
|
||||
theCommands.Add("LocSet", "a [b [c]]: set loc b->a; use no args to get help",__FILE__,LocSet,"essai");
|
||||
theCommands.Add("LocDump", "a: dump location of a",__FILE__,LocDump,"essai");
|
||||
|
@@ -1,59 +0,0 @@
|
||||
#ifdef WNT
|
||||
|
||||
#include <windows.h>
|
||||
#include <winbase.h>
|
||||
#include <process.h>
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
|
||||
static clock_t MDTV_CPU_LIMIT; // Cpu_limit in Sec.
|
||||
static clock_t MDTV_CPU_CURRENT; // cpu time already used at last
|
||||
// cpulimit call. (sec.)
|
||||
|
||||
|
||||
static unsigned int __stdcall CpuFunc(void * param) {
|
||||
|
||||
clock_t current;
|
||||
|
||||
while ( 1 ) {
|
||||
Sleep(5);
|
||||
|
||||
current = clock()/1000;
|
||||
if ((current-MDTV_CPU_CURRENT) >= MDTV_CPU_LIMIT ){
|
||||
|
||||
printf("CpuFunc : Fin sur Cpu Limit \n");
|
||||
ExitProcess(2);
|
||||
return(0);
|
||||
}
|
||||
}
|
||||
return(0);
|
||||
}
|
||||
|
||||
//static Standard_Integer cpulimit(Draw_Interpretor& DI, Standard_Integer n, char** a)
|
||||
void limitelapsed(int n ) {
|
||||
|
||||
static int first=1;
|
||||
|
||||
unsigned int __stdcall CpuFunc(void * );
|
||||
|
||||
unsigned ThreadID;
|
||||
|
||||
MDTV_CPU_LIMIT = n;
|
||||
MDTV_CPU_CURRENT = clock()/1000;
|
||||
|
||||
|
||||
if (first) { // Lancer le thread au 1er appel seulement.
|
||||
first=0;
|
||||
_beginthreadex(
|
||||
|
||||
NULL, // no security attributes
|
||||
0, // use default stack size
|
||||
CpuFunc, // thread function
|
||||
NULL, // argument to thread function
|
||||
0, // use default creation flags
|
||||
&ThreadID); // returns the thread identifier
|
||||
}
|
||||
|
||||
}
|
||||
#endif
|
Reference in New Issue
Block a user