Exemple #1
0
void Job::waitForEvent(DWORD timeout)
{
    gatherInfo();
    testRestrictions();

    DWORD evnt;
    ULONG key;
    LPOVERLAPPED lpOverlapped;
    BOOL reslt = GetQueuedCompletionStatus(port.handle(),&evnt,&key,
        &lpOverlapped,timeout);
    if (reslt == 0) {
        DWORD err = GetLastError();
        tryApi(_T("GetQueuedCompletionStatus"),err == WAIT_TIMEOUT);
    } else {
        if (evnt == JOB_OBJECT_MSG_ACTIVE_PROCESS_ZERO)
            jobactive = false;
        else if (evnt == JOB_OBJECT_MSG_END_OF_JOB_TIME ||
            evnt == JOB_OBJECT_MSG_END_OF_PROCESS_TIME)
            res = JobResult(JobResult::TL,_T(""));
        else if (evnt == JOB_OBJECT_MSG_ACTIVE_PROCESS_LIMIT)
            res = JobResult(JobResult::SV, Messages::RESULT_CHILD_PROCESS);
        else if (evnt == JOB_OBJECT_MSG_PROCESS_MEMORY_LIMIT ||
            evnt == JOB_OBJECT_MSG_JOB_MEMORY_LIMIT)
            res = JobResult(JobResult::ML,_T(""));
    }
    if (res.valid()) {
        tryApi(_T("TerminateJobObject"),
            TerminateJobObject(hJob,0) != 0);
    } else if (!active()) {
        DWORD code;
        tryApi(_T("GetExitCodeProcess"),
            GetExitCodeProcess(hMainProcess,&code) != 0);
        res = JobResult(JobResult::OK, _T(""));
    }
}
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
    {

    ui->setupUi(this);
    connect(this, SIGNAL(window_loaded()), this, SLOT(gatherInfo()), Qt::ConnectionType(Qt::QueuedConnection | Qt::UniqueConnection));

    }
Exemple #3
0
void Job::assignMainProcess(const Process &process)
{
    hMainProcess = process.processHandle();
    tryApi(_T("AssignProcessToJobObject"),
        AssignProcessToJobObject(hJob,hMainProcess) != 0);
    gatherInfo();
    initialElapsedTimeCounter = elapsedTimeCounter.getLargeValue();
    millisecondsIdle = 0;
    prevJobTime = -1;
    prevElapsedTime = -1;
    res = JobResult();
    jobactive = true;
}
void MainWindow::on_LPinky_clicked()
{
    bool read;
    read = fingerprints[0].registerPrint(0);
     positions[0] = true;
   // fingerprints[0].show();
//    if (read == true){
//        positions[0] = true;
//        QPixmap pixmap(".\fingerprint.jpg");

//    }
     delay(15000);
     gatherInfo();
}
Exemple #5
0
int GrassPro::createRegion(){
  int j, k;
  double x, z, y, diameter, zCord;
  int atomStep = 0, moleculeId=1;

  // open the data file for writing
  dataFile = fopen(dataFName.c_str(), "w");

  gatherInfo();

  fprintf(stderr, "Creating Lattice, please wait...\n");

  // Print atom bond and angle info
  fprintf(dataFile,"\n%d atoms\n", atomNum);
  fprintf(dataFile,"\n%d atom types\n", atomType);

  fprintf(dataFile,"%d bonds\n", objNum*(objAtoms-1));
  fprintf(dataFile,"%d bond types\n", bondType);
  
  // Print box bounds
  fprintf(dataFile, "\n%g %g xlo xhi\n", dim[0], dim[1]);
  fprintf(dataFile, "%g %g ylo yhi\n", dim[2], dim[3]);
  fprintf(dataFile, "%g %g zlo zhi\n", dim[4], dim[5]);

  // Print Atoms
  fprintf(dataFile, "\nAtoms\n\n");

  for(x=dim[0]+radius; x<(dim[1]-radius) || areSame(x,(dim[1]-radius)); x+=(2.0*radius+sphereSep)){
    for(y=dim[2]+radius; y<(dim[3]-radius) || areSame(y, (dim[3]-radius)); y+=(2.0*radius+sphereSep)){
      if(FLAG_RAND){
	/*diameter = 2.0*radius;
	zCord = dim[4]+radius;
	while((diameter > (2.0*cutOff)) && (zCord+diameter) < dim[5]){
	  atomStep++;
	  // Print atomNumber atomType xCord yCord zCord diameter density moleculeID
	  fprintf(dataFile, "%d %d %g %g %g %g %g %d\n", atomStep, 1,
		  x, y, zCord, diameter, atomDensity, moleculeId);
	  diameter *= scaleFactor;
	  zCord += sphereSep+diameter;*/
      } else {
	diameter = 2.0*radius;
	zCord = dim[4]+radius;
	while(((diameter > (2.0*cutOff))) && ((zCord+(1.0/2.0)*diameter) < dim[5])){
	  atomStep++;
	   // Print atomNumber atomType xCord yCord zCord diameter density moleculeID
	  if(areSame(zCord, dim[4]+radius))
	    fprintf(dataFile, "%d %d %g %g %g %g %g %d\n", atomStep, 2,
		  x, y, zCord, diameter, atomDensity, moleculeId);
	  else
	    fprintf(dataFile, "%d %d %g %g %g %g %g %d\n", atomStep, 1,
		  x, y, zCord, diameter, atomDensity, moleculeId);

	  zCord += (1.0/2.0)*diameter;
	  diameter *= scaleFactor;
	  zCord += (1.0/2.0)*diameter;
	  //  fprintf(stderr, "d: %g, cutoff: %g, zcord: %g\n", diameter, cutOff, zCord);
	  
	}
      }
    }
  }
  
  // Print Bonds
  fprintf(dataFile, "\nBonds\n\n");
  for(j=0; j < objNum; j++){
    for(k=1; k < objAtoms; k++){
	fprintf(dataFile, "%d %d %d %d\n", j*objAtoms+(k-j), bondType, j*objAtoms+k, j*objAtoms+k+1); 
    }
  }
  
  
  fclose(dataFile);

  printInfo();
  printStderr();
}
DeviceInfo::DeviceInfo()
{
	s_instance = this;

	gatherInfo();
}