Exemplo n.º 1
0
 int run() {
     _statUtil.setSeconds( getParam( "sleep" , 1 ) );
     _statUtil.setAll( hasParam( "all" ) );
     if ( _many )
         return runMany();
     return runNormal();
 }
Exemplo n.º 2
0
void App::run()
{
   /* drop effective user and group ID, in case this executable has the setuid/setgid bit set
      (privileges will be re-elevated when necessary, e.g. for authenticat file reading) */
   System::dropUserAndGroupEffectiveID();

   try
   {
      SyslogLogger::initOnce(APP_SYSLOG_IDENTIFIER);

      this->cfg = new Config(argc, argv);

      if ( this->cfg->getRunUnitTests() )
         runUnitTests();
      else
         runNormal();
   }
   catch (InvalidConfigException& e)
   {
      std::cerr << std::endl;
      std::cerr << "Error: " << e.what() << std::endl;
      std::cerr << std::endl;
      std::cerr << "[BeeGFS Control Tool Version: " << BEEGFS_VERSION << std::endl;
      std::cerr << "Refer to the default config file (/etc/beegfs/beegfs-client.conf)" << std::endl;
      std::cerr << "or visit http://www.beegfs.com to find out about configuration options.]"
         << std::endl;
      std::cerr << std::endl;

      if(this->log)
         log->logErr(e.what() );

      appResult = APPCODE_INVALID_CONFIG;
      return;
   }
   catch (std::exception& e)
   {
      std::cerr << std::endl;
      std::cerr << "Unrecoverable error: " << e.what() << std::endl;
      std::cerr << std::endl;

      if(this->log)
         log->logErr(e.what() );

      appResult = APPCODE_RUNTIME_ERROR;
      return;
   }
}
Exemplo n.º 3
0
int petabricks::PetabricksRuntime::runMain(){
#ifdef HAVE_OPENCL
  int err;
#endif
  JTIMER_SCOPE(runMain);

  switch(MODE){
    case MODE_RUN_IO:
#ifdef HAVE_OPENCL
      if( 0 != ( err = OpenCLUtil::init( ) ) )
      {
        std::cout << "Failed to initialize OpenCL: error " << err << "." << std::endl;
        exit( -1 );
      }
#endif
      runNormal();
      break;
    case MODE_IOGEN_CREATE:
      iogenCreate(iogenFiles(IOGEN_PFX));
      break;
    case MODE_IOGEN_RUN:
      iogenRun(iogenFiles(IOGEN_PFX));
      break;
    case MODE_RACE_CONFIGS:
      raceConfigs(_randSize);
      return _rv;
      break;
    case MODE_RUN_RANDOM:
#ifdef HAVE_OPENCL
      if( 0 != ( err = OpenCLUtil::init( ) ) )
      {
        std::cout << "Failed to initialize OpenCL: error " << err << "." << std::endl;
        exit(-1 );
      }
#endif
      runTrial(GRAPH_MAX_SEC, ACCTRAIN);
      break;
    case MODE_GRAPH_INPUTSIZE:
      runGraphMode();
      break;
    case MODE_GRAPH_PARAM:
      runGraphParamMode(graphParam);
      break;
    case MODE_GRAPH_TEMPLATE:
      runGraphTemplate();
      break;
    case MODE_GRAPH_THREADS:
      runGraphParallelMode();
      break;
    case MODE_AUTOTUNE_PARAM:
      optimizeParameter(graphParam);
      break;
    case MODE_ABORT:
    case MODE_HELP:
      break;
  }
  

  if(FORCEOUTPUT && _rv==0){
    JTIMER_SCOPE(forceoutput);
    std::vector<std::string> tmp;
    for(int i=_main->numInputs(); i-->0;)
      tmp.push_back(DEVNULL);
    for(int i=_main->numOutputs(); i-->0;)
      tmp.push_back("-");
    _main->writeOutputs(tmp);
  }

  ACCURACY=!theAccuracies.empty();
  DUMPTIMING=!theTimings.empty();
  if(ACCURACY || DUMPTIMING || HASH) std::cout << "<root>\n  <stats>\n";
  if(ACCURACY){
    std::cout << "    <accuracy";
    _dumpStats(std::cout, theAccuracies);
    std::cout << " />\n";
  }
  if(DUMPTIMING){
    std::cout << "    <timing";
    _dumpStats(std::cout, theTimings);
    std::cout << " />\n";
  }
  if(HASH){
    std::cout << "    <outputhash value=\"0x" << theLastHash << "\" />\n";
  }
  if(ACCURACY || DUMPTIMING || HASH) std::cout << "  </stats>\n</root>\n" << std::flush;

  return _rv;
}
Exemplo n.º 4
0
void Runner::collideGround(b2Node* groundNode, b2Contact* contact){
	int groundTag = groundNode->getTag();
	float tmp;
    switch (groundTag)
    	{
            case TAG_OBJECT_GROUND:
            {
					runNormal();
					float groundWidth = groundNode->getBoundingBox().getMaxX(); 
					bool positionCheckY = this->mModel->getPosY() - groundNode->getPosition().y > this->mModel->getBoundingBox().getMaxY() / 2;
					float a1 = std::abs(this->mModel->getPosX() - groundNode->getPosition().x);
					float a2 = this->mModel->getBoundingBox().getMaxX();
					bool positionCheckX = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < (groundWidth / 2 + this->mModel->getBoundingBox().getMaxX() / 2);
					if (positionCheckY&&positionCheckX)
						this->mModel->setState(PlayerState::ON_GROUND);
                    break;
            }
            case TAG_OBJECT_BARNORMAL:
            case TAG_OBJECT_BARSLOPE:
            {
                float groundWidth = groundNode->getBoundingBox().getMaxX();
                tmp = 10;
				bool velocityCheck = this->mModel->getVelocityY() > tmp;
				bool positionCheck = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < groundWidth / 2;

				if (velocityCheck && positionCheck){
                        contact->SetEnabled(false);
				}
				else{
					runNormal();
					float groundWidth = groundNode->getBoundingBox().getMaxX();
					bool positionCheckY = this->mModel->getPosY() - groundNode->getPosition().y > this->mModel->getBoundingBox().getMaxY() / 2;
					float a1 = std::abs(this->mModel->getPosX() - groundNode->getPosition().x);
					float a2 = this->mModel->getBoundingBox().getMaxX();
					bool positionCheckX = std::abs(this->mModel->getPosX() - groundNode->getPosition().x) < (groundWidth / 2 + this->mModel->getBoundingBox().getMaxX() / 2);
					if (positionCheckY&&positionCheckX)
						this->mModel->setState(PlayerState::ON_GROUND);
					else
						this->mModel->isMultiJump = true;
					break;
				}
                break;
            }
            case TAG_OBJECT_BACK:
            {
				if (!isChangeDirection)
				{
					mModel->setDirection(-1);
					mView->setDirection(-1);
					isChangeDirection = true;
				}
				
                break;
            }
			case TAG_OBJECT_END:
			{
				if (isChangeDirection)
				{
					isChangeDirection = false;
					mModel->setFinish(true);
				}
				break;
			}
			case TAG_OBJECT_ROLL_BACK:{
										  StartRollBack();
			}
            case TAG_OBJECT_SLOW_EXLODED:
			case TAG_OBJECT_BOMB_EXLODED:
            {
				contact->SetEnabled(false);
                break;
            }
            default:
                break;
    	}
}